2100
|
Can bars have a grey backcolor and black border color for a summary-bar (EBN)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oAppearance
LOCAL oBar,oBar1,oBar2
LOCAL oChart
LOCAL oItems
LOCAL hSummaryJ,hSummaryK,hSummaryN,hTaskJ,hTaskK
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oAppearance := oG2antt:VisualAppearance()
oAppearance:RenderType := -2
oAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABN0GACAADACAxRDAMgBQKAAzQFAYahuGSGAAGMYxQgmFgAQhFcZQSKUOQTDKMIziYBYJhEMQyDAAUIjOKsIhkGYcZAGQBJCjWGodQLOEgwHIERQjEyUJAGGQIHhyPYbUbGUpQHKkeRtGqgBgoKhKEouNYgAbGYIwTRsdyfDSXBpEWwbDgkNQwWTDNoRDIUQStCysaYjOpnfrUAJ1P7FdQ1NJkXRhGSSK7maapaiCSZ6STCMj1FhVKSNJ7DQKhGpgKh/ApgYpQOK4fLNXyRBK4QAyKA6bgPFZOZbFViaXY1V5bNKrcjhHQwAyHJ4XXRdV4YRAkUT4GqiJKGSYcQhuXZWbRqO6ABhef6DRThc6jKpFHIE4llEcojHqSZNgoIxnlgd5thsLREleL43gsYZ9BkaAYkMAgAm+CxGDWWAtiKCRfjcdRgHoHYnicUwgAIEIREAaQYkcQZUHIGRUDQJBOEYRAhDYCxGgMZAkCgdYQha" +;
"XQIAYERwQuahXggdgeG6VZ4H4IhdiIGIOB8YIiGiHZZgqYpGF4KYHiKCI+CAU5jCiTQ2g0YhEFyax4gABAEIC")
oAppearance:Add(2,"gBFLBCJwBAEHhEJAAEhABU0IQAAYAQGKQYhiAKBQAGaAoDDcMA4QwAAyjAKMEwsACEIrjKCRShyCYZRhGcTAJBMIhiGQYAChEZxVhEMgzDjIAxSJAcQRFESaAABGCQGh+N4/S4NIi0CIsZQjCaiZ7pKA5bgMCo+UrNMixZQVCSOGChYRpCaZWpGGodQRUFbVHAlKypJKCKrEWSrDhuYAAW7XM7yBS1TzVNSuLZtaLqSroAJ1WTWMB0Ra8NzZEKfaZACj4arKejrRDCMAggI=")
oAppearance:Add(3,"gBFLBCJwBAEHhEJAAEhABN8GACAADACAxRDgMQBQKAAzQFAcDBvBgABiHEZoJhUAIIRZGMIjFDcEwxDSMY7jcYAFgkNQwCUtcBIJDEMIoAJLIwyBKkNQ5AabYrmWJpMgOEAyDSJM70DCEThLD4aZJnOa5ZjmH5LRBQdBRXQMYwIGCiZQpeKqbgMBoJApCIJxdBNLAAf60LLtGJaSpKZouViJNjSBD4HQTL6BQwsKxIDqaaD/WpgFuLTjiRImShcMQXJYFbwTOyBbDjG7rJr+FptYRbdYYRQ8dy7Cywa6pOa8YwacotZrAdDXHTmHw1PTRNDmTRYRwfKqJZxieqwHoMLYgAC8Ni3OaoDAiCRQGiYZyHKaRSwPBInIYIIjeRgzBSAYKCEOySEodZbjybo0HefwfhMLQDnKeg9D6LwsCeV5unYQJYH8Lxvj+a5jgSfIYH8T43hOcZ5H+X4nh2fB6F+aABnOAIfFgFgGgGH43nICoCl+eA1n0fBhAgVZ5gS" +;
"HoID4FoDCCCBqBuBYUjgfgigGURYg4JoJmKCBFBaChikiNgVEYYpokYMoMCMKJWCkcIjgiZg6E0Do3gUASAg=")
oG2antt:Columns():Add("Task")
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,128)
oChart:FirstVisibleDate := "01/01/2001"
oBar := oChart:Bars:Item("Task")
oBar:SetProperty("Def",4/*exBarHAlignCaption*/,18)
oBar:SetProperty("Color",0x1000000)
oBar1 := oChart:Bars:Item("Summary")
oBar1:SetProperty("Def",4/*exBarHAlignCaption*/,18)
oBar1:SetProperty("Color",0x2000000)
oBar2 := oChart:Bars():CallMethod("Copy","Summary","SummaryN")
oBar2:SetProperty("Def",4/*exBarHAlignCaption*/,18)
oBar2:SetProperty("Color",0x3000000)
oItems := oG2antt:Items()
hSummaryJ := oItems:AddItem("Summary A")
oItems:AddBar(hSummaryJ,"Summary","01/02/2001","01/02/2001","J")
hTaskJ := oItems:InsertItem(hSummaryJ,,"Task A.1")
oItems:AddBar(hTaskJ,"Task","01/02/2001","01/05/2001","J1")
hTaskJ := oItems:InsertItem(hSummaryJ,,"Task A.2")
oItems:AddBar(hTaskJ,"Task","01/04/2001","01/08/2001","J2")
oItems:DefineSummaryBars(hSummaryJ,"J",-1,"<*>")
hSummaryK := oItems:AddItem("Summary B")
oItems:AddBar(hSummaryK,"Summary","01/02/2001","01/02/2001","K")
hTaskK := oItems:InsertItem(hSummaryK,,"Task B.1")
oItems:AddBar(hTaskK,"Task","01/02/2001","01/05/2001","K1")
hTaskK := oItems:InsertItem(hSummaryK,,"Task B.2")
oItems:AddBar(hTaskK,"Task","01/04/2001","01/08/2001","K2")
oItems:DefineSummaryBars(hSummaryK,"K",-1,"<*>")
hSummaryN := oItems:AddItem("Summary C")
oItems:AddBar(hSummaryN,"SummaryN","01/02/2001","01/02/2001","SN")
hTaskK := oItems:InsertItem(hSummaryN,,"Task B.1")
oItems:AddBar(hTaskK,"Task","01/02/2001","01/05/2001","N1")
hTaskK := oItems:InsertItem(hSummaryN,,"Task B.2")
oItems:AddBar(hTaskK,"Task","01/04/2001","01/08/2001","N2")
oItems:DefineSummaryBars(hSummaryN,"SN",-1,"<*>")
oItems:SetProperty("ItemBar",0,"<K*>",33/*exBarColor*/,255)
oItems:SetProperty("ItemBar",0,"<N*>",33/*exBarColor*/,8421504)
oItems:SetProperty("ExpandItem",0,.T.)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2099
|
How can I display UNICODE characters

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oItems
LOCAL oStdFont
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Chart():SetProperty("PaneWidth",.T.,0)
oStdFont := oG2antt:Font()
oStdFont:Name := "Arial Unicode"
oStdFont:Size := 22
oG2antt:HeaderVisible := 0/*exHeaderHidden*/
oG2antt:DefaultItemHeight := 48
oG2antt:Columns():Add(""):SetProperty("Def",17/*exCellValueFormat*/,1)
oItems := oG2antt:Items()
oItems:AddItem("Ӓӓ")
oItems:AddItem("ᦜᦝ;ᦞ")
oItems:AddItem("ɮɭ;ɯ")
oItems:AddItem("勳勴勵勶")
oItems:SetProperty("FormatCell",oItems:AddItem(oG2antt:Version()),0,"(value lfind `UNICODE`) < 0 ? `<fgcolor=FF0000><b>!UNICODE!</b> version</fgcolor> required: ` + value : `` ")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2098
|
How can I display 12-hour time (method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oLevel
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "01/01/2001"
oChart:SetProperty("PaneWidth",.F.,0)
oChart:LevelCount := 2
oChart:Level(0):Label := 4096
oLevel := oChart:Level(1)
oLevel:Unit := 65536/*exHour*/
oLevel:FormatLabel := "(0 := hour(dvalue)) < 12 ? ( `<fgcolor=808080>` + ( =:0 = 0 ? 12 : =:0 ) + `</fgcolor>` ) : (=:0 - 12)"
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2097
|
How can I display 12-hour time (method 1)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "01/01/2001"
oChart:SetProperty("PaneWidth",.F.,0)
oChart:LevelCount := 2
oChart:Level(0):Label := 4096
oChart:Level(1):Label := "<%h12%>"
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2096
|
How do I scale to hours

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "01/01/2001"
oChart:SetProperty("PaneWidth",.F.,0)
oChart:LevelCount := 2
oChart:Level(0):Label := 4096
oChart:Level(1):Label := 65536
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2095
|
How do I display the position of the item with 0-padding

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Items"):FormatColumn := "((1 apos ``) lpad `00`) + `. ` + value"
oItems := oG2antt:Items()
oItems:AddItem("Item A")
oItems:AddItem("Item B")
oItems:AddItem("Item C")
oItems:AddItem("Item D")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2094
|
Can I format the label in row 3 below to show day numbers, only for Mondays each week (sample 2)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oLevel,oLevel1,oLevel2
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,0)
oChart:FirstVisibleDate := "01/31/2009"
oChart:LevelCount := 3
oChart:FirstWeekDay := 1/*exMonday*/
oLevel := oChart:Level(0)
oLevel:Label := "<%mmmm%> <%yyyy%>"
oLevel:Alignment := 1/*CenterAlignment*/
oLevel:Unit := 16/*exMonth*/
oLevel1 := oChart:Level(1)
oLevel1:Unit := 256/*exWeek*/
oLevel1:Label := "Week <%ww%>"
oLevel1:Alignment := 1/*CenterAlignment*/
oLevel2 := oChart:Level(2)
oLevel2:Unit := 4096/*exDay*/
oLevel2:FormatLabel := "weekday(dvalue) = 1 ? day(dvalue): ''"
oChart:UnitWidth := 23
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2093
|
Can I format the label in row 3 below to show day numbers, only for Mondays each week (sample 1)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oLevel,oLevel1,oLevel2
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,0)
oChart:FirstVisibleDate := "01/31/2009"
oChart:LevelCount := 3
oChart:FirstWeekDay := 1/*exMonday*/
oLevel := oChart:Level(0)
oLevel:Label := "<%mmmm%> <%yyyy%>"
oLevel:Alignment := 1/*CenterAlignment*/
oLevel:Unit := 16/*exMonth*/
oLevel1 := oChart:Level(1)
oLevel1:Unit := 256/*exWeek*/
oLevel1:Label := "Week <%ww%>"
oLevel1:Alignment := 1/*CenterAlignment*/
oLevel2 := oChart:Level(2)
oLevel2:Unit := 4096/*exDay*/
oLevel2:FormatLabel := "weekday(dvalue) = 1 ? value : ''"
oChart:UnitWidth := 23
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2092
|
How can I change the caption for all bars

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oBar
LOCAL oChart
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Tasks")
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "08/01/2017"
oChart:LevelCount := 2
oChart:SetProperty("PaneWidth",.F.,128)
oBar := oChart:Bars():Add("Task%Progress")
oBar:Shortcut := "Task"
oBar:SetProperty("Def",14/*exBarShowPercentCaption*/,.T.)
oItems := oG2antt:Items()
oItems:AddBar(oItems:AddItem("Task 1"),"Task","08/02/2017","08/06/2017")
oItems:AddBar(oItems:AddItem("Task 2"),"Task","08/03/2017","08/09/2017")
oItems:AddBar(oItems:AddItem("Task 3"),"Task","08/04/2017","08/13/2017")
oItems:AddBar(oItems:AddItem("Task 4"),"Task","08/05/2017","08/16/2017")
oItems:SetProperty("ItemBar",0,"<*>",14/*exBarShowPercentCaption*/,.F.)
oItems:SetProperty("ItemBar",0,"<*>",3/*exBarCaption*/,"<%= %C0 replace `Task` with `Task<off 4><b>` %>")
oItems:SetProperty("ItemBar",0,"<*>",4/*exBarHAlignCaption*/,18)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2091
|
Can't get the +/- to be displayed on a divider item. What else can I do

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumns
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/
oG2antt:DrawGridLines := -1/*exAllLines*/
oG2antt:TreeColumnIndex := 0
oG2antt:MarkSearchColumn := .F.
oG2antt:FullRowSelect := 0/*exColumnSel*/
oG2antt:HeaderAppearance := -1/*0xfffffff8+Bump+Sunken*/
oG2antt:Chart():SetProperty("PaneWidth",.T.,0)
oColumns := oG2antt:Columns()
oColumns:Add("C1"):Width := 32
oColumns:Add("C2"):FormatColumn := "1 index ``"
oItems := oG2antt:Items()
h := oItems:AddItem("Cell 1")
oItems:SetProperty("CellSingleLine",h,1,0/*exCaptionWordWrap*/)
h := oItems:AddItem("This is bit of text merges all cells in the item (divider shows no +/-)")
oItems:SetProperty("ItemDivider",h,0)
oItems:SetProperty("ItemBackColor",h,AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. ))
oItems:SetProperty("ItemDividerLine",h,0/*EmptyLine*/)
oItems:SetProperty("CellHAlignment",h,0,1/*CenterAlignment*/)
oItems:InsertItem(h,,"Child 1")
oItems:InsertItem(h,,"Child 2")
oItems:SetProperty("ExpandItem",h,.T.)
h := oItems:AddItem("Cell 3")
h := oItems:AddItem("This is bit of text merges all cells in the item (merge shows +/-)")
oItems:SetProperty("ItemBackColor",h,AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. ))
oItems:SetProperty("CellMerge",h,0,1)
oItems:InsertItem(h,,"Child 3")
oItems:InsertItem(h,,"Child 4")
oItems:SetProperty("ExpandItem",h,.T.)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2090
|
How can I display one or more columns on the same bar

PROCEDURE OnAddGroupItem(oG2antt,Item)
LOCAL oItems
LOCAL l
oItems := oG2antt:Items()
oItems:SetProperty("ItemDividerLine",Item,0/*EmptyLine*/)
oItems:AddBar(Item,"Summary","12/02/2017","12/02/2017")
oItems:DefineSummaryBars(Item,"",-3,"")
l := oItems:GroupItem(Item)
oItems:SetProperty("CellSingleLine",Item,l,0/*exCaptionWordWrap*/)
oItems:SetProperty("CellBold",Item,l,.T.)
oItems:SetProperty("ItemBackColor",Item,AutomationTranslateColor( GraMakeRGBColor ( { 190,190,190 } ) , .F. ))
oG2antt:Chart():SetProperty("ItemBackColor",Item,AutomationTranslateColor( GraMakeRGBColor ( { 190,190,190 } ) , .F. ))
RETURN
PROCEDURE OnAddItem(oG2antt,Item)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/10/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oBar,oBar1
LOCAL oChart
LOCAL oColumn,oColumn1
LOCAL oColumns
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddGroupItem := {|Item| OnAddGroupItem(oG2antt,Item)} /*Occurs after a new Group Item has been inserted to Items collection.*/
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oG2antt:VisualAppearance():Add(1,"gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzVIUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxINgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZxBBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCg" +;
"eoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA==")
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,256)
oBar := oChart:Bars:Item("Summary")
oBar:StartShape := 0/*exShapeIconEmpty*/
oBar:EndShape := 0/*exShapeIconEmpty*/
oBar:Shape := 1/*exShapeSolid*/
oBar:SetProperty("Color",0x1000000)
oBar:SetProperty("Def",3/*exBarCaption*/,"<%=%513%>")
oBar:SetProperty("Def",4/*exBarHAlignCaption*/,18)
oBar1 := oChart:Bars:Item("Task")
oBar1:Pattern := 32/*exPatternBox*/
oBar1:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 164,164,164 } ) , .F. ))
oBar1:SetProperty("StartColor",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. ))
oBar1:SetProperty("EndColor",oBar1:StartColor())
oBar1:SetProperty("Def",3/*exBarCaption*/,"<%= `<font ;6><fgcolor=0000FF><i>` + %C0 + ` ` + %C1 + ` ` + %C2 %>")
oBar1:SetProperty("Def",4/*exBarHAlignCaption*/,13)
oColumns := oG2antt:Columns()
oColumns:Add("C1")
oColumns:Add("C2"):Editor():EditType := 1/*EditType*/
oColumns:Add("C3"):Editor():EditType := 1/*EditType*/
oColumn := oColumns:Add("Pos")
oColumn:FormatColumn := "1 pos ``"
oColumn:AllowGroupBy := .F.
oColumn:Position := 0
oColumn:Width := 48
oColumn:AllowSizing := .F.
oG2antt:SortBarVisible := .T.
oG2antt:SortBarCaption := "Drag a <b>column</b> header here to group by that column."
oG2antt:AllowGroupBy := .T.
oG2antt:HasLines := 0/*exNoLine*/
oG2antt:LinesAtRoot := 0/*exNoLinesAtRoot*/
oItems := oG2antt:Items()
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.3")
oItems:SetProperty("CellValue",h,2,"SubItem A.4")
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.5")
oItems:SetProperty("CellValue",h,2,"SubItem A.6")
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.7")
oItems:SetProperty("CellValue",h,2,"SubItem A.8")
h := oItems:AddItem("Item B")
oItems:SetProperty("CellValue",h,1,"SubItem B.1")
oItems:SetProperty("CellValue",h,2,"SubItem B.2")
h := oItems:AddItem("Item B")
oItems:SetProperty("CellValue",h,1,"SubItem B.3")
oItems:SetProperty("CellValue",h,2,"SubItem B.4")
oColumn1 := oG2antt:Columns:Item(0)
oColumn1:SortOrder := 1/*SortAscending*/
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2089
|
How can I associate a box/note to a date into the control's header

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems,oItems1
LOCAL oNote
LOCAL oNotes
LOCAL hLocked
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:ScrollBySingleLine := .T.
oG2antt:Columns():Add("Task")
oG2antt:HeaderHeight := 17
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "01/01/2001"
oChart:SetProperty("PaneWidth",.F.,96)
oChart:LevelCount := 2
oChart:SetProperty("SelBackColor",oG2antt:SelBackColor())
oItems := oG2antt:Items()
oItems:AddItem("Item 1")
oItems:SetProperty("SelectItem",oItems:AddItem("Item 2"),.T.)
oItems:AddItem("Item 3")
oNotes := oG2antt:Chart():Notes()
oItems1 := oG2antt:Items()
oItems1:SetProperty("LockedItemCount",0/*exTop*/,1)
hLocked := oItems1:LockedItem(0/*exTop*/,0)
oItems1:SetProperty("ItemHeight",hLocked,1)
oNote := oNotes:Add("header",hLocked,"01/07/2001","Date:<br><%dd%>/<%mm%><br><b><%yyyy%></b>")
oNote:SetProperty("PartVisible",0/*exNoteStart*/,.T.)
oNote:SetProperty("PartText",0/*exNoteStart*/,"<b><%d%></b>")
oNote:SetProperty("PartCanMove",1/*exNoteEnd*/,.T.)
oNote:SetProperty("PartCanMove",0/*exNoteStart*/,.T.)
oNote:SetProperty("PartVOffset",0/*exNoteStart*/,-9)
oNote:SetProperty("PartVOffset",1/*exNoteEnd*/,20)
oNote:SetProperty("PartHOffset",1/*exNoteEnd*/,20)
oNote:SetProperty("PartBackColor",0/*exNoteStart*/,AutomationTranslateColor( GraMakeRGBColor ( { 255,255,0 } ) , .F. ))
oNote:SetProperty("PartFixedWidth",0/*exNoteStart*/,18)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2088
|
How can I define a column of button type

PROCEDURE OnButtonClick(oG2antt,Item,ColIndex,Key)
LOCAL oItems
oItems := oG2antt:Items()
DevOut( Transform(oItems:CellValue(Item,ColIndex),"") )
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumn
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:ButtonClick := {|Item,ColIndex,Key| OnButtonClick(oG2antt,Item,ColIndex,Key)} /*Occurs when user clicks on the cell's button.*/
oG2antt:BeginUpdate()
oColumn := oG2antt:Columns():Add("Button")
oColumn:SetProperty("Def",2/*exCellHasButton*/,.T.)
oColumn:SetProperty("Def",3/*exCellButtonAutoWidth*/,.F.)
oColumn:FormatColumn := "``"
oColumn:AllowSizing := .F.
oColumn:Width := 48
oG2antt:Columns():Add("Second"):FormatColumn := "` Item ` + 1 index ``"
oItems := oG2antt:Items()
oItems:AddItem("Button 1")
oItems:AddItem("Button 2")
oItems:AddItem("Button 3 ")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2087
|
Is it possible to configure different colour/icon when there is a active filter

PROCEDURE OnFilterChange(oG2antt)
oG2antt:SetProperty("Background",0/*exHeaderFilterBarButton*/,oG2antt:FormatABC("value = 0 ? 0x1000001 : 0x10000FF ",oG2antt:Columns:Item(0):FilterType()))
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oAppearance
LOCAL oColumn,oColumn1
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:FilterChange := {|| OnFilterChange(oG2antt)} /*Occurs when the filter was changed.*/
oG2antt:BeginUpdate()
oAppearance := oG2antt:VisualAppearance()
oAppearance:RenderType := -16777216
oAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQgmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYThdr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA")
oG2antt:DrawGridLines := -1/*exAllLines*/
oG2antt:ShowFocusRect := .F.
oG2antt:SetProperty("Background",0/*exHeaderFilterBarButton*/,0x1000001)
oG2antt:SetProperty("Background",32/*exCursorHoverColumn*/,-1)
oG2antt:HeaderAppearance := 4/*Etched*/
oG2antt:SetProperty("BackColorHeader",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. ))
oG2antt:HeaderVisible := 1/*exHeaderVisibleExtendLevels*/
oColumn := oG2antt:Columns():Add("Filter")
oColumn:DisplayFilterButton := .T.
oColumn:AllowSort := .F.
oColumn:AllowDragging := .F.
oColumn:FilterList := 256/*exShowCheckBox*/
oItems := oG2antt:Items()
oItems:AddItem("Item A")
oItems:AddItem("Item B")
oItems:AddItem("Item C")
oColumn1 := oG2antt:Columns:Item(0)
oColumn1:Filter := "Item B"
oColumn1:FilterType := 240/*exFilter*/
oG2antt:ApplyFilter()
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2086
|
ADODB Requery sample

PROCEDURE OnButtonClick(oG2antt,Item,ColIndex,Key)
LOCAL cmd
cmd := CreateObject("ADODB.Command")
cmd:ActiveConnection := oG2antt:DataSource():ActiveConnection()
cmd:CommandText := "INSERT INTO Orders (EmployeeID) VALUES(12345)"
cmd:CommandType := 1/*adCmdText*/
cmd:Execute()
oG2antt:DataSource():Requery()
RETURN
PROCEDURE OnError(oG2antt,Error,Description)
DevOut( Transform(Description,"") )
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oItems
LOCAL h
LOCAL rs
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:ButtonClick := {|Item,ColIndex,Key| OnButtonClick(oG2antt,Item,ColIndex,Key)} /*Occurs when user clicks on the cell's button.*/
oG2antt:Error := {|Error,Description| OnError(oG2antt,Error,Description)} /*Fired when an internal error occurs.*/
oG2antt:BeginUpdate()
oG2antt:HeaderAppearance := 4/*Etched*/
oG2antt:ColumnAutoResize := .F.
rs := CreateObject("ADODB.Recordset")
rs:Open("Select * From Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",1/*adOpenKeyset*/,3/*adLockOptimistic*/)
oG2antt:DataSource := rs
oG2antt:ConditionalFormats():Add("%1=12345"):SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. ))
oItems := oG2antt:Items()
oItems:SetProperty("LockedItemCount",0/*exTop*/,1)
h := oItems:LockedItem(0/*exTop*/,0)
oItems:SetProperty("ItemDivider",h,0)
oItems:SetProperty("CellHasButton",h,0,.T.)
oItems:SetProperty("CellValue",h,0,"Requery (add a new record, using ADODB.Command)")
oItems:SetProperty("CellHAlignment",h,0,1/*CenterAlignment*/)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2085
|
I am skinning the control's header-bar, but the background of the header-bar is shown on each item in the filter-bar drop down panel. What can I do

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oAppearance
LOCAL oColumn
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oAppearance := oG2antt:VisualAppearance()
oAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABFgDg6AADACAxRDgMQBQKAAzQFAYcBqGqGAAGQZxYgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQGhsCYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU8lORLUi+M4zSBPcZVTRtGShPDBKTjMKKYgkG4lVpRNa0PC1GTzQ6mazkKQLRADDIDVbAeL3LiMBy9LyLLItQALByua5mWhbcZyBCOPgBTrRb5zO58FjuTK7YLjMB7NrUNYtFaUMy2OpOCADIaecTNcaWLxPF2MY1HWYxVj2Jw3DuRJonKYBgggSRAlIYw6B0ThGFgPAkFUDAhBMfZRiGNAkFECZnm4YQdneJwqnsSQrGAAhWAIJBJBIQgFCQIBiEIAglgqYo0i4V4MEgRI9gSToYFS" +;
"b4Fk6Y4+BmBZhFOJgTC8TBogQAArgqco4muCZOkOMJtgmYpIjYKg7GKE4uCUK4AAKKg2DwI4DiCZw5k6KJ2D6D4OHiag4DwIxiiQAArAqMosnEPBPAOIhOg+DozjIJ4PGSY4iEwPAkhKLhHUUSQsnKFCnkYU9MjORhcCsAAIACLQ8iaSJ6FKC5jJoaobA8KYoACCRKnmMJzhuDpZnSboMCKGJ4nMPIPDmYAACwKIDk6CoLCeU40m6I5oliMoKDyaICokLIpgoThviOKJoGYf4KmUKhMjMLJLCAAojCyaYoiYGoGmqM46CkOwPEoKonAACxKlSdItmiWBeBeDgrioNo3D0KxSlAAAtgsUpYnUPRPEoco8hCa+T40SxbBRj5tEsHJ1i6JhbGYS4ug8awelQLZAAKZI5C4DxrhYQ9ehmUppWiA48nAPRuFKYpiAAC47laZQ9iuKZSgOPotkuFI7C6C4gACPJAm8eQOhOQZoikDp3kCS5AACPoEk8fBGnqQg" +;
"pDOSppD2TxjlyPZD6CfwekQTx5lKP5ImseZTCAL5MAMAAAkoTADmMLpIjISp+HSS4PgyMAADBzAHDSIoPCOUpWjObIKE8NJOHKIwPEaTprBsHpdjWLB9AieQ+DQYwQAAMR1EOZxWi+bx7HcWQ8msfRYnnDhQACRwxgwc5rGaMZPE0ZxqjWNZtgyRwAAyTZEnuXJzEyAx2kQcxNkye5cEy3cYAcANrGAIH4OAhx3gNGGPAfgIR8jBA4McBMARViHH4HQOYmxuCpF2MsecEQVBvGQCcIQvA6i2CAAIARAQ=")
oAppearance:Add(2,"gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzQFAYcBqGqGAAGQZxYgmFgAQhFcZQSKUOQTDKMIziYBYJhEMwwDhEIwjHCEEhsGIbJAGQBJCjWGodQLOEgzNC0IxNFCQILhEZJADKII8TTOU5UPRESwTE4cKBmKhQCo2NpKR7VUTxCKQahLLivoCjBT8EzHMqtIzrCA6MpaP4pQjKcqwHJ8YyHEi0ZrjazKaj6T5AXDUcaWbbNVx3PK3aioOpLZrqOZZYzYFoABTuJzPMSyIhxXD8cweaZvSpLExVYK9BY3PbKMgxC77QgTIpDaQMNS6PjtF43PAALLFUaNYzoOKzABMHATBIXAYJCwIIR5G7ID4BbQcCQAHL9DBaEEIAEEISgGhMGZQmocgymmIRQkIEQ2BcGgbEIRQci8XaMBqTRVgSAZHG+S5pnOep+D6f4vjec5zn0fpfmgBgAH6TRoBYBoAh+eAmAiAgPFgNArgOQpIESdoEmCOAOAq" +;
"BYfFGAgaEaBgYHYFYFmIB5UiGCJUgKCgmgeYoHk4BgCmKRQiCwApgHgYgyH8B54lQU4NkMeJlBoDgjkiXBTg0R54iYIR+koeQVBoKpkgkChKhEJBkF4SFEjkDgJhFQoeEmDJlBeehUhWJQJGIXoICWOQ6FeFIlhkfhlDsSJpiQVoamaSY2G6G5nAmRhpCOH5pkwVYdmeCZmHqHpnkmdhzhmaAIFiax8AABAEICA==")
oG2antt:SetProperty("BackColorHeader",0x1000000)
oG2antt:SetProperty("ForeColorHeader",AutomationTranslateColor( GraMakeRGBColor ( { 128,128,128 } ) , .F. ))
oG2antt:SetProperty("Background",0/*exHeaderFilterBarButton*/,0x2000000)
oG2antt:SetProperty("Background",26/*exBackColorFilter*/,AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. ))
oG2antt:SetProperty("Background",27/*exForeColorFilter*/,AutomationTranslateColor( GraMakeRGBColor ( { 0,0,1 } ) , .F. ))
oG2antt:SetProperty("Background",20/*exSelBackColorFilter*/,0x1ff8000)
oG2antt:SetProperty("Background",21/*exSelForeColorFilter*/,AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. ))
oG2antt:SetProperty("Background",32/*exCursorHoverColumn*/,-1)
oG2antt:HeaderHeight := 24
oG2antt:SetProperty("BackColorLevelHeader",oG2antt:BackColor())
oColumn := oG2antt:Columns():Add("Filter")
oColumn:DisplayFilterButton := .T.
oColumn:DisplayFilterPattern := .F.
oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/
oColumn:SetProperty("Def",52/*exHeaderPaddingLeft*/,2)
oColumn:SetProperty("Def",53/*exHeaderPaddingRight*/,2)
oItems := oG2antt:Items()
oItems:AddItem("A")
oItems:AddItem("B")
oItems:AddItem("C")
oItems:AddItem("D")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2084
|
I specify the ItemHeight for each row, but as soon as I click the chart section, the item's height is restored to default (not working). What could be the cause

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oBar
LOCAL oChart
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:ScrollBySingleLine := .T.
oG2antt:Columns():Add("Types")
oG2antt:DrawGridLines := 1/*exHLines*/
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:DrawGridLines := 1/*exHLines*/
oChart:AllowCreateBar := 1/*exCreateBarAuto*/
oChart:AllowLinkBars := .F.
oChart:ResizeUnitScale := 65536/*exHour*/
oChart:SetProperty("PaneWidth",.F.,112)
oChart:FirstVisibleDate := "01/01/2001"
oBar := oChart:Bars:Item("Task")
oBar:OverlaidType := 3/*exOverlaidBarsStack*/
oBar:SetProperty("Def",3/*exBarCaption*/,"<%=%9%>")
oBar:SetProperty("Def",4/*exBarHAlignCaption*/,18)
oItems := oG2antt:Items()
h := oItems:AddItem("ItemMinHeight")
oItems:AddBar(h,"Task","01/07/2001","01/10/2001","A1")
oItems:AddBar(h,"Task","01/08/2001","01/12/2001","A2")
oItems:SetProperty("ItemMinHeight",h,64)
oItems:AddBar(oItems:AddItem("Default (One)"),"Task","01/07/2001","01/10/2001","A3")
h := oItems:AddItem("Default (Two)")
oItems:AddBar(h,"Task","01/07/2001","01/10/2001","A4")
oItems:AddBar(h,"Task","01/08/2001","01/12/2001","A5")
h := oItems:AddItem("ItemFixedHeight")
oItems:AddBar(h,"Task","01/07/2001","01/10/2001","A6")
oItems:AddBar(h,"Task","01/08/2001","01/12/2001","A7")
oItems:SetProperty("ItemMinHeight",h,20)
oItems:SetProperty("ItemMaxHeight",h,20)
h := oItems:AddItem("ItemMaxHeight")
oItems:AddBar(h,"Task","01/07/2001","01/10/2001","A8")
oItems:AddBar(h,"Task","01/08/2001","01/12/2001","A9")
oItems:SetProperty("ItemMaxHeight",h,24)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2083
|
The ItemHeight property is not working (method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:ColumnAutoResize := .F.
oG2antt:ScrollBySingleLine := .T.
oG2antt:Columns():Add("Column"):Width := 128
oItems := oG2antt:Items()
oItems:SetProperty("CellSingleLine",oItems:AddItem("This is a bit of text that should break the line"),0,0/*exCaptionWordWrap*/)
h := oItems:AddItem("")
oItems:SetProperty("ItemDivider",h,0)
oItems:SetProperty("SelectableItem",h,.F.)
oItems:SetProperty("ItemDividerLineAlignment",h,1/*DividerCenter*/)
oItems:SetProperty("ItemHeight",h,3)
oItems:SetProperty("CellSingleLine",oItems:AddItem("This is a bit of text that should break the line"),0,0/*exCaptionWordWrap*/)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2082
|
The ItemHeight property is not working (method 1)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumn
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:ColumnAutoResize := .F.
oG2antt:ScrollBySingleLine := .T.
oColumn := oG2antt:Columns():Add("Column")
oColumn:Width := 128
oColumn:SetProperty("Def",16/*exCellSingleLine*/,0)
oItems := oG2antt:Items()
oItems:AddItem("This is a bit of text that should break the line")
h := oItems:AddItem("")
oItems:SetProperty("ItemDivider",h,0)
oItems:SetProperty("SelectableItem",h,.F.)
oItems:SetProperty("ItemDividerLineAlignment",h,1/*DividerCenter*/)
oItems:SetProperty("ItemMinHeight",h,3)
oItems:SetProperty("ItemMaxHeight",h,3)
oItems:AddItem("This is a bit of text that should break the line")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2081
|
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeCheckColumns

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumns
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:ColumnAutoResize := .F.
oG2antt:HeaderAppearance := 4/*Etched*/
oColumns := oG2antt:Columns()
oColumns:Add("City")
oColumns:Add("Start"):Visible := .F.
oColumns:Add("End"):Visible := .F.
oG2antt:SetProperty("Description",26/*exColumnsFloatBar*/,"Show/Hide")
oG2antt:ColumnsFloatBarSortOrder := 1/*SortAscending*/
oG2antt:ColumnsFloatBarVisible := 2/*exColumnsFloatBarVisibleIncludeCheckColumns*/
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2080
|
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeHiddenColumn

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumns
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:ColumnAutoResize := .F.
oG2antt:HeaderAppearance := 4/*Etched*/
oColumns := oG2antt:Columns()
oColumns:Add("City")
oColumns:Add("Start"):Visible := .F.
oColumns:Add("End"):Visible := .F.
oG2antt:SetProperty("Description",26/*exColumnsFloatBar*/,"Show")
oG2antt:ColumnsFloatBarVisible := -1/*exColumnsFloatBarVisibleIncludeHiddenColumns*/
oG2antt:ColumnsFloatBarSortOrder := 1/*SortAscending*/
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2079
|
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeGroupByColumns

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumns
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:ColumnAutoResize := .F.
oG2antt:HeaderAppearance := 4/*Etched*/
oColumns := oG2antt:Columns()
oColumns:Add("City")
oColumns:Add("Start")
oColumns:Add("End")
oG2antt:AllowGroupBy := .T.
oG2antt:SortBarVisible := .T.
oG2antt:SortBarCaption := "Drag a <b>column</b> header here to group by that column."
oG2antt:SetProperty("BackColorSortBar",AutomationTranslateColor( GraMakeRGBColor ( { 250,250,250 } ) , .F. ))
oG2antt:SetProperty("Description",26/*exColumnsFloatBar*/,"Group-By")
oG2antt:ColumnsFloatBarVisible := 1/*exColumnsFloatBarVisibleIncludeGroupByColumns*/
oG2antt:ColumnsFloatBarSortOrder := 1/*SortAscending*/
oG2antt:Columns:Item("City"):SortOrder := 1/*SortAscending*/
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2078
|
How can I advance to the next line, once the user presses the ENTER key

PROCEDURE OnKeyDown(oG2antt,KeyCode,Shift)
DevOut( "KeyCode Before:" )
DevOut( Transform(KeyCode,"") )
KeyCode := oG2antt:FormatABC("value = 13 ? 40 : value",KeyCode)
DevOut( "KeyCode After:" )
DevOut( Transform(KeyCode,"") )
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumns
LOCAL oEditor,oEditor1
LOCAL oItems
LOCAL h0
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:KeyDown := {|KeyCode,Shift| OnKeyDown(oG2antt,KeyCode,Shift)} /*Occurs when the user presses a key while an object has the focus.*/
oG2antt:BeginUpdate()
oColumns := oG2antt:Columns()
oEditor := oColumns:Add("A"):Editor()
oEditor:Appearance := 4/*EtchedApp*/
oEditor:EditType := 1/*EditType*/
oEditor1 := oColumns:Add("B"):Editor()
oEditor1:Appearance := 4/*EtchedApp*/
oEditor1:EditType := 1/*EditType*/
oItems := oG2antt:Items()
h0 := oItems:AddItem("Item A.1")
oItems:SetProperty("CellValue",h0,1,"Item B.1")
h0 := oItems:AddItem("Item A.2")
oItems:SetProperty("CellValue",h0,1,"Item B.2")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2077
|
I am using AddNew to add new records, but I can not see them into the control

PROCEDURE OnAddItem(oG2antt,Item)
LOCAL oItems
oItems := oG2antt:Items()
oItems:AddBar(Item,"Task",oItems:CellValue(Item,1),oItems:CellValue(Item,2))
RETURN
PROCEDURE OnButtonClick(oG2antt,Item,ColIndex,Key)
LOCAL oRecordset
oRecordset := oG2antt:DataSource()
oRecordset:AddNew()
oRecordset:Fields:Item("Name"):Value := "Task New"
oRecordset:Update()
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oFields
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h
LOCAL rs
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:ButtonClick := {|Item,ColIndex,Key| OnButtonClick(oG2antt,Item,ColIndex,Key)} /*Occurs when user clicks on the cell's button.*/
oG2antt:BeginUpdate()
oG2antt:HeaderAppearance := 4/*Etched*/
rs := CreateObject("ADODB.Recordset")
oFields := rs:Fields()
oFields:Append("Name",8/*adBSTR*/)
oFields:Append("Start",7/*adDate*/)
oFields:Append("End",7/*adDate*/)
rs:Open()
rs:AddNew()
rs:Fields:Item("Name"):Value := "Task A"
rs:Fields:Item("Start"):Value := "01/04/2001"
rs:Fields:Item("End"):Value := "01/10/2001"
rs:Update()
rs:AddNew()
rs:Fields:Item("Name"):Value := "Task B"
rs:Fields:Item("Start"):Value := "01/05/2001"
rs:Fields:Item("End"):Value := "01/11/2001"
rs:Update()
oG2antt:DataSource := rs
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "01/01/2001"
oChart:LevelCount := 2
oChart:SetProperty("PaneWidth",.F.,256)
oG2antt:Items():AllowCellValueToItemBar := .T.
oG2antt:Columns:Item("Start"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1)
oG2antt:Columns:Item("End"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2)
oItems := oG2antt:Items()
oItems:SetProperty("LockedItemCount",0/*exTop*/,1)
h := oItems:LockedItem(0/*exTop*/,0)
oItems:SetProperty("ItemDivider",h,0)
oItems:SetProperty("CellHasButton",h,0,.T.)
oItems:SetProperty("CellValue",h,0,"AddNew")
oItems:SetProperty("CellHAlignment",h,0,1/*CenterAlignment*/)
oG2antt:DetectAddNew := .T.
oG2antt:DetectDelete := .T.
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2076
|
How can I create a new ADO recordset

PROCEDURE OnAddItem(oG2antt,Item)
LOCAL oItems
oItems := oG2antt:Items()
oItems:AddBar(Item,"Task",oItems:CellValue(Item,1),oItems:CellValue(Item,2))
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oFields
LOCAL oG2antt
LOCAL oChart
LOCAL rs
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
rs := CreateObject("ADODB.Recordset")
oFields := rs:Fields()
oFields:Append("Name",8/*adBSTR*/)
oFields:Append("Start",7/*adDate*/)
oFields:Append("End",7/*adDate*/)
rs:Open()
rs:AddNew()
rs:Fields := "Task A"
rs:Fields := "01/04/2001"
rs:Fields := "01/10/2001"
rs:Update()
rs:AddNew()
rs:Fields := "Task B"
rs:Fields := "01/05/2001"
rs:Fields := "01/11/2001"
rs:Update()
oG2antt:DataSource := rs
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "01/01/2001"
oChart:LevelCount := 2
oChart:SetProperty("PaneWidth",.F.,256)
oG2antt:Items():AllowCellValueToItemBar := .T.
oG2antt:Columns:Item("Start"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1)
oG2antt:Columns:Item("End"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2075
|
Do do I get the DAO version I have installed

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
DevOut( CreateObject("DAO.DBEngine.35"):Version():Version() )
DevOut( CreateObject("DAO.DBEngine.36"):Version():Version() )
DevOut( CreateObject("DAO.DBEngine.120"):Version():Version() )
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2074
|
How do I get a list of interfaces the object implemenets

PROCEDURE OnAddItem(oG2antt,Item)
LOCAL oItems
oItems := oG2antt:Items()
oItems:AddBar(Item,"Task",oItems:CellValue(Item,2),oItems:CellValue(Item,4))
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL rs
LOCAL oPrivDBEngine
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oG2antt:ColumnAutoResize := .F.
oPrivDBEngine := CreateObject("DAO.DBEngine.120")
rs := oPrivDBEngine:OpenDatabase("C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb"):OpenRecordset("Orders")
DevOut( Transform(CreateObject("Exontrol.PropertiesList"),"") )
oG2antt:DataSource := rs
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "08/04/1994"
oChart:LevelCount := 2
oChart:SetProperty("PaneWidth",.F.,256)
oG2antt:Items():AllowCellValueToItemBar := .T.
oG2antt:Columns:Item(2):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1)
oG2antt:Columns:Item(4):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2073
|
Do do I get the ADO version I have installed

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
DevOut( "ADO Version:" )
DevOut( CreateObject("ADODB.Connection"):Version():Version() )
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2072
|
DAO, ACCDB, 120

PROCEDURE OnAddItem(oG2antt,Item)
LOCAL oItems
oItems := oG2antt:Items()
oItems:AddBar(Item,"Task",oItems:CellValue(Item,2),oItems:CellValue(Item,4))
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL rs
LOCAL oPrivDBEngine
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oG2antt:ColumnAutoResize := .F.
oPrivDBEngine := CreateObject("DAO.DBEngine.120")
rs := oPrivDBEngine:OpenDatabase("C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb"):OpenRecordset("Orders")
oG2antt:DataSource := rs
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "08/04/1994"
oChart:LevelCount := 2
oChart:SetProperty("PaneWidth",.F.,256)
oG2antt:Items():AllowCellValueToItemBar := .T.
oG2antt:Columns:Item(2):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1)
oG2antt:Columns:Item(4):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2071
|
DAO, MDB, 120

PROCEDURE OnAddItem(oG2antt,Item)
LOCAL oItems
oItems := oG2antt:Items()
oItems:AddBar(Item,"Task",oItems:CellValue(Item,2),oItems:CellValue(Item,4))
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL rs
LOCAL oPrivDBEngine
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oG2antt:ColumnAutoResize := .F.
oPrivDBEngine := CreateObject("DAO.DBEngine.120")
rs := oPrivDBEngine:OpenDatabase("C:\Program Files\Exontrol\ExG2antt\sample\Access\misc.mdb"):OpenRecordset("Orders")
oG2antt:DataSource := rs
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "08/04/1994"
oChart:LevelCount := 2
oChart:SetProperty("PaneWidth",.F.,256)
oG2antt:Items():AllowCellValueToItemBar := .T.
oG2antt:Columns:Item(2):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1)
oG2antt:Columns:Item(4):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2070
|
DAO, MDB

PROCEDURE OnAddItem(oG2antt,Item)
LOCAL oItems
oItems := oG2antt:Items()
oItems:AddBar(Item,"Task",oItems:CellValue(Item,2),oItems:CellValue(Item,4))
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL rs
LOCAL oPrivDBEngine
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oG2antt:ColumnAutoResize := .F.
oPrivDBEngine := CreateObject("DAO.DBEngine.36")
rs := oPrivDBEngine:OpenDatabase("C:\Program Files\Exontrol\ExG2antt\sample\Access\misc.mdb"):OpenRecordset("Orders")
oG2antt:DataSource := rs
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "08/04/1994"
oChart:LevelCount := 2
oChart:SetProperty("PaneWidth",.F.,256)
oG2antt:Items():AllowCellValueToItemBar := .T.
oG2antt:Columns:Item(2):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1)
oG2antt:Columns:Item(4):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2069
|
ADODB, ACCDB, x64

PROCEDURE OnAddItem(oG2antt,Item)
LOCAL oItems
oItems := oG2antt:Items()
oItems:AddBar(Item,"Task",oItems:CellValue(Item,2),oItems:CellValue(Item,4))
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL rs
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oG2antt:ColumnAutoResize := .F.
rs := CreateObject("ADODB.Recordset")
rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",1/*adOpenKeyset*/,1/*adLockReadOnly*/)
oG2antt:DataSource := rs
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "08/04/1994"
oChart:LevelCount := 2
oChart:SetProperty("PaneWidth",.F.,256)
oG2antt:Items():AllowCellValueToItemBar := .T.
oG2antt:Columns:Item(2):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1)
oG2antt:Columns:Item(4):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2068
|
ADOR, ACCDB

PROCEDURE OnAddItem(oG2antt,Item)
LOCAL oItems
oItems := oG2antt:Items()
oItems:AddBar(Item,"Task",oItems:CellValue(Item,2),oItems:CellValue(Item,4))
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL rs
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oG2antt:ColumnAutoResize := .F.
rs := CreateObject("ADOR.Recordset")
rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/)
oG2antt:DataSource := rs
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "08/04/1994"
oChart:LevelCount := 2
oChart:SetProperty("PaneWidth",.F.,256)
oG2antt:Items():AllowCellValueToItemBar := .T.
oG2antt:Columns:Item(2):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1)
oG2antt:Columns:Item(4):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2067
|
ADODB, MDB

PROCEDURE OnAddItem(oG2antt,Item)
LOCAL oItems
oItems := oG2antt:Items()
oItems:AddBar(Item,"Task",oItems:CellValue(Item,2),oItems:CellValue(Item,4))
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL rs
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oG2antt:ColumnAutoResize := .F.
rs := CreateObject("ADODB.Recordset")
rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/)
oG2antt:DataSource := rs
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "08/04/1994"
oChart:LevelCount := 2
oChart:SetProperty("PaneWidth",.F.,256)
oG2antt:Items():AllowCellValueToItemBar := .T.
oG2antt:Columns:Item(2):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1)
oG2antt:Columns:Item(4):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2066
|
ADOR, MDB

PROCEDURE OnAddItem(oG2antt,Item)
LOCAL oItems
oItems := oG2antt:Items()
oItems:AddBar(Item,"Task",oItems:CellValue(Item,2),oItems:CellValue(Item,4))
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL rs
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oG2antt:ColumnAutoResize := .F.
rs := CreateObject("ADOR.Recordset")
rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/)
oG2antt:DataSource := rs
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "08/04/1994"
oChart:LevelCount := 2
oChart:SetProperty("PaneWidth",.F.,256)
oG2antt:Items():AllowCellValueToItemBar := .T.
oG2antt:Columns:Item(2):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1)
oG2antt:Columns:Item(4):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2065
|
I am using exCellValueToItemBarProperty, Is it possible to “disable” this synchronisation for one (or several) item (sample-2)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumns
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oColumns := oG2antt:Columns()
oColumns:Add("Tasks")
oColumns:Add("Start"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1)
oColumns:Add("End"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2)
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "09/20/2006"
oChart:LevelCount := 2
oChart:SetProperty("PaneWidth",.F.,196)
oChart:AllowCreateBar := 1/*exCreateBarAuto*/
oItems := oG2antt:Items()
oItems:AllowCellValueToItemBar := .T.
oItems:AddBar(oItems:AddItem("Task 1"),"Task","09/21/2006","09/24/2006")
h := oItems:AddItem("Task 2")
oItems:AddBar(h,"Task","09/22/2006","09/25/2006")
oItems:SetProperty("ItemBold",h,.T.)
oItems:CellValueToItemBar(h,1,1/*exBarStart*/,"newbar")
oItems:CellValueToItemBar(h,2,2/*exBarEnd*/,"newbar")
oItems:AddBar(oItems:AddItem("Task 3"),"Task","09/23/2006","09/26/2006")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2064
|
I am using exCellValueToItemBarProperty, Is it possible to “disable” this synchronisation for one (or several) item (sample-1)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumns
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oColumns := oG2antt:Columns()
oColumns:Add("Tasks")
oColumns:Add("Start"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1)
oColumns:Add("End"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2)
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "09/20/2006"
oChart:LevelCount := 2
oChart:SetProperty("PaneWidth",.F.,196)
oItems := oG2antt:Items()
oItems:AllowCellValueToItemBar := .T.
oItems:AddBar(oItems:AddItem("Task 1"),"Task","09/21/2006","09/24/2006")
h := oItems:AddItem("Task 2")
oItems:AddBar(h,"Task","09/22/2006","09/25/2006")
oItems:SetProperty("FormatCell",h,1,"``")
oItems:SetProperty("FormatCell",h,2,"``")
oItems:SetProperty("ItemBold",h,.T.)
oItems:AddBar(oItems:AddItem("Task 3"),"Task","09/23/2006","09/26/2006")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2063
|
How can I use the CRD (eXCRD format)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn,oColumn1,oColumn2,oColumn3
LOCAL oItems
LOCAL dih,h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:HeaderAppearance := 4/*Etched*/
oG2antt:SelBackMode := 1/*exTransparent*/
oColumn := oG2antt:Columns():Add("Default")
oColumn:SetProperty("Def",32/*exCellFormatLevel*/,"[b=0]60;1[b=15]:60,((20;" + CHR(34) + "<fgcolor=808080>Dateigröße" + CHR(34) + "[b=1][a=2]:120,2[b=15])/(20;" + CHR(34) + "<fgcolor=808080>Erstellt am" + CHR(34) + "[a=2]:120,3[b=15])/(20;" + CHR(34) + "<fgcolor=808080>Zuletzt bearbeitet" + CHR(34) + "[b=4][a=2]:120,4[b=15]))")
oColumn:AllowSort := .F.
oG2antt:Columns():Add(Transform(1,"")):Visible := .F.
oColumn1 := oG2antt:Columns():Add(Transform(2,""))
oColumn1:Visible := .F.
oColumn1:Editor():EditType := 1/*EditType*/
oColumn1:FormatColumn := "1 index `A-Z`"
oColumn2 := oG2antt:Columns():Add(Transform(3,""))
oColumn2:Visible := .F.
oColumn2:Editor():EditType := 1/*EditType*/
oColumn2:FormatColumn := "1 index ``"
oColumn3 := oG2antt:Columns():Add(Transform(4,""))
oColumn3:Visible := .F.
oColumn3:Editor():EditType := 1/*EditType*/
oColumn3:FormatColumn := "date(``)"
dih := 48
oG2antt:DefaultItemHeight := dih
oG2antt:DrawGridLines := -2/*exRowLines*/
oG2antt:GridLineStyle := 48/*exGridLinesSolid*/
oChart := oG2antt:Chart()
oChart:DrawGridLines := -2/*exRowLines*/
oChart:GridLineStyle := 48/*exGridLinesSolid*/
oChart:SetProperty("PaneWidth",.F.,256)
oChart:LevelCount := 2
oChart:FirstVisibleDate := "01/01/2001"
oChart:Bars:Item("Task"):OverlaidType := 515/*exOverlaidBarsStackAutoArrange+exOverlaidBarsStack*/
oItems := oG2antt:Items()
h := oItems:AddItem("")
oItems:SetProperty("CellValue",h,1,"One")
oItems:AddBar(h,"Task","01/02/2001","01/12/2001","A")
oItems:AddBar(h,"Task","01/04/2001","01/14/2001","B")
oItems:SetProperty("ItemMaxHeight",h,dih)
h := oItems:AddItem("")
oItems:SetProperty("CellValue",h,1,"Two")
oItems:AddBar(h,"Task","01/05/2001","01/10/2001","A")
oItems:AddBar(h,"Task","01/02/2001","01/04/2001","B")
oItems:AddBar(h,"Task","01/05/2001","01/14/2001","B2")
oItems:SetProperty("ItemMaxHeight",h,dih)
h := oItems:AddItem("")
oItems:SetProperty("CellValue",h,1,"Three")
oItems:AddBar(h,"Task","01/05/2001","01/10/2001","A")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2062
|
Type of wraps the cell's caption support (Sample 2)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumn,oColumn1,oColumn2
LOCAL oColumns
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:HeaderSingleLine := .F.
oG2antt:HeaderHeight := 36
oG2antt:DrawGridLines := -2/*exRowLines*/
oG2antt:ColumnAutoResize := .F.
oG2antt:ScrollBySingleLine := .T.
oColumns := oG2antt:Columns()
oColumn := oColumns:Add("Single-Line (exCaptionSingleLine)")
oColumn:Width := 96
oColumn:SetProperty("Def",17/*exCellValueFormat*/,1)
oColumn:SetProperty("Def",16/*exCellSingleLine*/,-1)
oColumn:SetProperty("Def",6/*exCellVAlignment*/,0)
oColumn1 := oColumns:Add("Word-Wrap (exCaptionWordWrap)")
oColumn1:Width := 96
oColumn1:SetProperty("Def",17/*exCellValueFormat*/,1)
oColumn1:SetProperty("Def",16/*exCellSingleLine*/,0)
oColumn1:SetProperty("Def",6/*exCellVAlignment*/,0)
oColumn1:FormatColumn := "%0"
oColumn2 := oColumns:Add("Break-Wrap (exCaptionBreakWrap)")
oColumn2:Width := 96
oColumn2:SetProperty("Def",17/*exCellValueFormat*/,1)
oColumn2:SetProperty("Def",16/*exCellSingleLine*/,1)
oColumn2:SetProperty("Def",6/*exCellVAlignment*/,0)
oColumn2:FormatColumn := "%0"
oItems := oG2antt:Items()
oItems:AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.")
oItems:AddItem("This is the <b>first</b> line.\r\nThis is the <b>second</b> line.\r\nThis is the <b>third</b> line.")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2061
|
Type of wraps the cell's caption support (Sample 1)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:HeaderSingleLine := .F.
oG2antt:HeaderHeight := 36
oG2antt:DrawGridLines := -2/*exRowLines*/
oG2antt:ColumnAutoResize := .F.
oG2antt:ScrollBySingleLine := .T.
oG2antt:Columns():Add("Default"):Width := 128
oItems := oG2antt:Items()
h := oItems:AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
h := oItems:AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.")
oItems:SetProperty("CellValueFormat",h,0,1/*exHTML*/)
h := oItems:AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
oItems:SetProperty("CellSingleLine",h,0,0/*exCaptionWordWrap*/)
h := oItems:AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.")
oItems:SetProperty("CellValueFormat",h,0,1/*exHTML*/)
oItems:SetProperty("CellSingleLine",h,0,0/*exCaptionWordWrap*/)
h := oItems:AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
oItems:SetProperty("CellSingleLine",h,0,1/*exCaptionBreakWrap*/)
h := oItems:AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.")
oItems:SetProperty("CellValueFormat",h,0,1/*exHTML*/)
oItems:SetProperty("CellSingleLine",h,0,1/*exCaptionBreakWrap*/)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2060
|
Can I break the cell's caption using the line break <br> or \r\n (Sample 2)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:DrawGridLines := -2/*exRowLines*/
oG2antt:ColumnAutoResize := .F.
oG2antt:ScrollBySingleLine := .T.
oG2antt:Columns():Add("Default"):Width := 128
oItems := oG2antt:Items()
oItems:SetProperty("CellSingleLine",oItems:AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line."),0,1/*exCaptionBreakWrap*/)
oItems:AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2059
|
Can I break the cell's caption using the line break <br> or \r\n (Sample 1)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumn
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:DrawGridLines := -2/*exRowLines*/
oG2antt:ColumnAutoResize := .F.
oG2antt:ScrollBySingleLine := .T.
oColumn := oG2antt:Columns():Add("Default")
oColumn:Width := 128
oColumn:SetProperty("Def",16/*exCellSingleLine*/,1)
oItems := oG2antt:Items()
oItems:AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
oItems:AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2058
|
The histogram is showing empty space, when expanding an item. What could be wrong

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:LinesAtRoot := 5/*exGroupLinesOutside*/
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:SetProperty("PaneWidth",.F.,128)
oChart:FirstVisibleDate := "01/01/2001"
oChart:HistogramVisible := .T.
oChart:HistogramHeight := 48
oChart:HistogramView := 1392/*exHistogramNoGrouping+exHistogramLeafItems+exHistogramAllItems*/
oChart:Bars:Item("Task"):HistogramPattern := 6/*exPatternBDiagonal*/
oG2antt:Columns():Add("Column")
oItems := oG2antt:Items()
h := oItems:AddItem("Project 1")
oItems:AddBar(oItems:InsertItem(h,,"Item 1"),"Task","01/02/2001","01/04/2001")
oItems:AddBar(oItems:InsertItem(h,,"Item 2"),"Task","01/03/2001","01/05/2001")
oItems:SetProperty("ExpandItem",h,.T.)
h := oItems:AddItem("Project 2")
oItems:AddBar(oItems:InsertItem(h,,"Item 1"),"Task","01/07/2001","01/10/2001")
oItems:AddBar(oItems:InsertItem(h,,"Item 2"),"Task","01/06/2001","01/08/2001")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2057
|
How can I change the visual appearance/color of the Filter For ... field

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumn
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/
oG2antt:SetProperty("BackColorHeader",AutomationTranslateColor( GraMakeRGBColor ( { 1,0,0 } ) , .F. ))
oG2antt:SetProperty("ForeColorHeader",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. ))
oG2antt:SetProperty("Background",26/*exBackColorFilter*/,oG2antt:BackColorHeader())
oG2antt:SetProperty("Background",27/*exForeColorFilter*/,oG2antt:ForeColorHeader())
oG2antt:SetProperty("Background",0/*exHeaderFilterBarButton*/,AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. ))
oG2antt:SetProperty("Background",32/*exCursorHoverColumn*/,-1)
oG2antt:HeaderAppearance := 5/*Bump*/
oColumn := oG2antt:Columns():Add("Items")
oColumn:FilterOnType := .T.
oColumn:DisplayFilterButton := .T.
oColumn:FilterList := 2/*exNoItems*/
oItems := oG2antt:Items()
h := oItems:AddItem("Root 1")
oItems:InsertItem(h,,"Child 1")
oItems:InsertItem(h,,"Child 2")
oItems:SetProperty("ExpandItem",h,.T.)
h := oItems:AddItem("Root 2")
oItems:InsertItem(h,,"Child 1")
oItems:InsertItem(h,,"Child 2")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2056
|
How can I display the cell's caption without spaces on both sides

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumn
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:ColumnAutoResize := .T.
oColumn := oG2antt:Columns():Add("Default")
oColumn:SetProperty("Def",17/*exCellValueFormat*/,1)
oColumn:FormatColumn := "((trim(value) replace ` ` with ` `) replace ` ` with ` `) replace ` ` with `<bgcolor=FF0000> </bgcolor>`"
oItems := oG2antt:Items()
oItems:AddItem("")
oItems:AddItem("Item A")
oItems:AddItem(" Item B")
oItems:AddItem(" Item C ")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2055
|
How can I highlight the spaces within the column (sample 2)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumn
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:ColumnAutoResize := .T.
oColumn := oG2antt:Columns():Add("Default")
oColumn:SetProperty("Def",17/*exCellValueFormat*/,1)
oColumn:FormatColumn := "`'` + ( value replace ` ` with `_` ) + `'`"
oItems := oG2antt:Items()
oItems:AddItem("")
oItems:AddItem("Item A")
oItems:AddItem(" Item B")
oItems:AddItem(" Item C ")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2054
|
How can I highlight the spaces within the column (sample 1)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumn
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:ColumnAutoResize := .T.
oColumn := oG2antt:Columns():Add("Default")
oColumn:SetProperty("Def",17/*exCellValueFormat*/,1)
oColumn:FormatColumn := "len(value) = 0 ? `<bgcolor=FF0000> </bgcolor>` : ( value replace ` ` with `<bgcolor=FF0000> </bgcolor>` )"
oItems := oG2antt:Items()
oItems:AddItem("")
oItems:AddItem("Item A")
oItems:AddItem(" Item B")
oItems:AddItem(" Item C ")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2053
|
How can I change the visual aspect of the drop down filter-calendar

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumn
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:SetProperty("Background",26/*exBackColorFilter*/,AutomationTranslateColor( GraMakeRGBColor ( { 0,0,1 } ) , .F. ))
oG2antt:SetProperty("Background",27/*exForeColorFilter*/,AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. ))
oG2antt:SetProperty("Background",12/*exDateScrollRange*/,AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. ))
oG2antt:SetProperty("Background",8/*exDateHeader*/,oG2antt:Background(26/*exBackColorFilter*/))
oG2antt:SetProperty("Background",11/*exDateScrollThumb*/,AutomationTranslateColor( GraMakeRGBColor ( { 128,128,128 } ) , .F. ))
oColumn := oG2antt:Columns():Add("Date")
oColumn:FilterType := 4/*exDate*/
oColumn:DisplayFilterButton := .T.
oColumn:DisplayFilterDate := .T.
oColumn:DisplayFilterPattern := .F.
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2052
|
How can I scroll the chart to ensure that a bar fits the chart's client area

PROCEDURE OnButtonClick(oG2antt,Item,ColIndex,Key)
LOCAL dEnd,dScroll,dStart,kBar
kBar := oG2antt:Items:FirstItemBar(Item)
dStart := oG2antt:Items:ItemBar(Item,kBar,1/*exBarStart*/)
dEnd := oG2antt:Items:ItemBar(Item,kBar,2/*exBarEnd*/)
dScroll := oG2antt:FormatABC("(A+B)/2",dStart,dEnd)
oG2antt:Chart():ScrollTo(dScroll,1)
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn
LOCAL oColumns
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:ButtonClick := {|Item,ColIndex,Key| OnButtonClick(oG2antt,Item,ColIndex,Key)} /*Occurs when user clicks on the cell's button.*/
oG2antt:BeginUpdate()
oG2antt:ShowFocusRect := .F.
oG2antt:DrawGridLines := -1/*exAllLines*/
oG2antt:GridLineStyle := 3/*exGridLinesDot4*/
oG2antt:SelBackMode := 1/*exTransparent*/
oChart := oG2antt:Chart()
oChart:OverviewVisible := 6402/*exOverviewShowDateTimeScaleBottom+exOverviewAllowVerticalScroll+exOverviewShowAllVisible*/
oChart:OverviewHeight := 26
oChart:FirstVisibleDate := "06/08/2011"
oChart:AdjustLevelsToBase := .T.
oChart:SetProperty("PaneWidth",.F.,64)
oChart:UnitWidth := 14
oChart:LevelCount := 2
oChart:DrawGridLines := -1/*exAllLines*/
oChart:GridLineStyle := 3/*exGridLinesDot4*/
oChart:SetProperty("SelBackColor",oG2antt:SelBackColor())
oChart:ColumnsFormatLevel := "" + CHR(34) + "" + CHR(34) + ":2,(" + CHR(34) + "" + CHR(34) + "/14;1/" + CHR(34) + "" + CHR(34) + "):14"
oColumns := oG2antt:Columns()
oColumns:Add("Default")
oColumn := oColumns:Add("")
oColumn:SetProperty("Def",2/*exCellHasButton*/,.T.)
oColumn:SetProperty("Def",4/*exCellBackColor*/,15790320)
oColumn:Visible := .F.
oItems := oG2antt:Items()
oItems:AddBar(oItems:AddItem("T1"),"Task","06/09/2011","06/17/2011")
oItems:AddBar(oItems:AddItem("T2"),"Task","01/10/2012","01/17/2012")
oItems:AddBar(oItems:AddItem("T3"),"Task","02/19/2013","02/23/2013")
oItems:AddBar(oItems:AddItem("T4"),"Task","12/19/2014","12/23/2014")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2051
|
Is it possible to hide completely the list portion

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oConditionalFormat
LOCAL oInsideZooms,oInsideZooms1
LOCAL oItems
LOCAL oLevel,oLevel1
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:HeaderHeight := 32
oG2antt:OnResizeControl := 129/*exDisableSplitter+exResizeChart*/
oG2antt:DrawGridLines := -1/*exAllLines*/
oConditionalFormat := oG2antt:ConditionalFormats():Add("%CS0 = 1")
oConditionalFormat:ApplyToBars := "Task"
oConditionalFormat:SetProperty("BarColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "06/08/2011"
oChart:AdjustLevelsToBase := .T.
oChart:SetProperty("PaneWidth",.F.,0)
oChart:LevelCount := 2
oChart:AllowInsideZoom := .T.
oLevel := oChart:Level(0)
oLevel:Alignment := 1/*CenterAlignment*/
oLevel:Label := "<b><%d%>-<%mmm%>-<%yyyy%>"
oLevel:Unit := 4096/*exDay*/
oLevel1 := oChart:Level(1)
oLevel1:Label := "<%h%>"
oLevel1:Count := 8
oLevel1:Unit := 65536/*exHour*/
oLevel1:FormatLabel := "date(int(dvalue)) case (#06/08/2011# : (int(value) case ( 0 : 'Shift <b>1</b><br>23/20'; 8 : 'Shift <b>2</b><br>38/30' ; 16 : 'Shift <b>3</b><br>24/24' ) ) ; #06/09/2011# : (int(value) case ( 0 : 'Shift <b>1</b><br>15/20'; 8 : 'Shift <b>2</b><br>30/32' ; 16 : 'Shift <b>3</b><br>26/24' ) ) )"
oChart:UnitWidth := 64
oChart:NonworkingDays := 0
oChart:ColumnsFormatLevel := "0"
oChart:AllowInsideZoom := .T.
oChart:DefaultInsideZoomFormat():InsideUnit := 1048576/*exMinute*/
oChart:AllowResizeInsideZoom := .F.
oChart:InsideZoomOnDblClick := .F.
oInsideZooms := oChart:InsideZooms()
oInsideZooms:SplitBaseLevel := .F.
oInsideZooms:DefaultWidth := 0
oInsideZooms1 := oChart:InsideZooms()
oInsideZooms1:Add("06/09/2011 08:00:00")
oInsideZooms1:Add("06/09/2011 16:00:00")
oChart:DrawGridLines := -1/*exAllLines*/
oChart:GridLineStyle := 3/*exGridLinesDot4*/
oG2antt:Columns():Add("Defaul"):SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
oItems := oG2antt:Items()
oItems:AddBar(oItems:AddItem("T1"),"Task","06/08/2011 08:00:00","06/10/2011")
oItems:AddBar(oItems:AddItem("T2"),"Task","06/08/2011 16:00:00","06/10/2011 08:00:00")
oItems:AddBar(oItems:AddItem("T3"),"Task","06/09/2011","06/10/2011")
oItems:SetProperty("CellState",oItems:ItemByIndex(1),0,1)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2050
|
How can I find out what exBarWorkingCount represents

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oBar
LOCAL oChart
LOCAL oColumn,oColumn1,oColumn2
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oColumn := oG2antt:Columns():Add("Tasks")
oColumn:AllowSizing := .F.
oColumn:Width := 42
oColumn1 := oG2antt:Columns():Add("Format")
oColumn1:SetProperty("Def",18/*exCellValueToItemBarProperty*/,258)
oColumn1:FormatColumn := "trim((1:=int((0:=value)/365) ? =:1 + ` year(s) ` : ``) + (1:=int((0:=(=:0 - (=:1*365)))/31) ? =:1 + ` month(s) ` : ``) + (1:=int((0:=(=:0 - (=:1*31)))/7) ? =:1 + ` week(s) ` : ``) + (1:=int((0:=(=:0 - (=:1*7)))/1) ? =:1 + ` day(s) ` : ``) + (1:=int((0:=(=:0 - =:1 + 1/24/60/60/2))*24) ? =:1 + ` hour(s) ` : ``) + (1:=int((0:=(=:0*24 - =:1))*60) ? =:1 + ` min(s) ` : ``) + (1:=int((0:=(=:0*60 - =:1))*60) ? =:1 + ` sec(s)` : ``))"
oColumn2 := oG2antt:Columns():Add("Value")
oColumn2:SetProperty("Def",18/*exCellValueToItemBarProperty*/,258)
oColumn2:SortType := 1/*SortNumeric*/
oColumn2:Editor():EditType := 1/*EditType*/
oG2antt:HeaderAppearance := 4/*Etched*/
oG2antt:DrawGridLines := -2/*exRowLines*/
oG2antt:GridLineStyle := 48/*exGridLinesSolid*/
oG2antt:SetProperty("SelBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 204,232,255 } ) , .F. ))
oG2antt:SetProperty("SelForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,0 } ) , .F. ))
oChart := oG2antt:Chart()
oChart:SetProperty("SelBackColor",oG2antt:SelBackColor())
oChart:FirstVisibleDate := "04/06/2009"
oChart:SetProperty("PaneWidth",.F.,256)
oChart:LevelCount := 2
oChart:UnitScale := 65536/*exHour*/
oChart:NonworkingHours := 15728767
oChart:ShowNonworkingDates := .F.
oChart:ShowNonworkingUnits := .F.
oChart:ShowNonworkingHours := .F.
oBar := oChart:Bars:Item("Task")
oBar:SetProperty("Def",20/*exBarKeepWorkingCount*/,.T.)
oChart:AllowLinkBars := .F.
oChart:DrawGridLines := -2/*exRowLines*/
oChart:GridLineStyle := 48/*exGridLinesSolid*/
oChart:Level(0):DrawGridLines := .T.
oChart:ResizeUnitScale := 1048576/*exMinute*/
oChart:ResizeUnitCount := 15
oChart:SetProperty("Label",1048576/*exMinute*/,"<|><%nn%><|><%h%>:<%nn%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%> <%AM/PM%><||>15")
oChart:AllowZoomOnFly := 280/*exZoomOnFlyIncludeNeighborItems+exZoomOnFly*/
oChart:SetProperty("BackColorZoomOnFly",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,0 } ) , .F. ))
oG2antt:Items():AllowCellValueToItemBar := .T.
oItems := oG2antt:Items()
h := oItems:AddItem("")
oItems:SetProperty("SelectableItem",h,.F.)
oItems:SetProperty("SortableItem",h,.F.)
oItems:AddBar(oItems:AddItem("T1"),"Task","04/06/2009 10:00:00","04/06/2009 13:00:00")
oItems:AddBar(oItems:AddItem("T2"),"Task","04/06/2009 10:00:00","04/06/2009 16:00:00")
oItems:AddBar(oItems:AddItem("T3"),"Task","04/06/2009 10:00:00","04/06/2009 19:00:00")
h := oItems:AddItem("")
oItems:SetProperty("SelectableItem",h,.F.)
oItems:SetProperty("SortableItem",h,.F.)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2049
|
How can I hide the filter bar description

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumn
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oColumn := oG2antt:Columns():Add("Filter")
oColumn:DisplayFilterButton := .T.
oColumn:FilterType := 240/*exFilter*/
oColumn:Filter := "B"
oItems := oG2antt:Items()
oItems:AddItem("A")
oItems:AddItem("B")
oItems:AddItem("C")
oG2antt:ApplyFilter()
oG2antt:FilterBarHeight := 0
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2048
|
How can I add a break bar

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oBar
LOCAL oChart
LOCAL oColumn,oColumn1
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oColumn := oG2antt:Columns():Add("Tasks")
oColumn:AllowSizing := .F.
oColumn:Width := 42
oColumn1 := oG2antt:Columns():Add("Working")
oColumn1:SetProperty("Def",18/*exCellValueToItemBarProperty*/,258)
oColumn1:FormatColumn := "((1:=int(0:= (value))) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')"
oG2antt:HeaderAppearance := 4/*Etched*/
oG2antt:DrawGridLines := -2/*exRowLines*/
oG2antt:GridLineStyle := 48/*exGridLinesSolid*/
oG2antt:SetProperty("SelBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 204,232,255 } ) , .F. ))
oG2antt:SetProperty("SelForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,0 } ) , .F. ))
oChart := oG2antt:Chart()
oChart:SetProperty("SelBackColor",oG2antt:SelBackColor())
oChart:FirstVisibleDate := "04/06/2009"
oChart:SetProperty("PaneWidth",.F.,164)
oChart:LevelCount := 2
oChart:UnitScale := 65536/*exHour*/
oChart:NonworkingHours := 15728767
oChart:ShowNonworkingDates := .F.
oChart:ShowNonworkingUnits := .F.
oChart:ShowNonworkingHours := .F.
oBar := oChart:Bars():Add("Task:Split")
oBar:SetProperty("Def",20/*exBarKeepWorkingCount*/,.T.)
oBar:Shortcut := "Task"
oChart:AllowLinkBars := .F.
oChart:DrawGridLines := -2/*exRowLines*/
oChart:GridLineStyle := 48/*exGridLinesSolid*/
oChart:Level(0):DrawGridLines := .T.
oChart:ResizeUnitScale := 1048576/*exMinute*/
oChart:ResizeUnitCount := 15
oChart:SetProperty("Label",1048576/*exMinute*/,"<|><%nn%><|><%h%>:<%nn%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%> <%AM/PM%><||>15")
oChart:AllowZoomOnFly := 280/*exZoomOnFlyIncludeNeighborItems+exZoomOnFly*/
oChart:SetProperty("BackColorZoomOnFly",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,0 } ) , .F. ))
oChart:AllowNonworkingBars := .T.
oG2antt:Items():AllowCellValueToItemBar := .T.
oItems := oG2antt:Items()
oItems:AddItem("")
h := oItems:AddItem("T1")
oItems:SetProperty("ItemNonworkingUnits",h,.F.,"(weekday(value) in (0,6)) or (timeF(value) < `07:00:00`) or (timeF(value) >= `20:00:00`) ")
oItems:AddBar(h,"","04/06/2009 07:30:00","04/06/2009 09:30:00","A","<c><font ;4>break<br>bar")
oItems:SetProperty("ItemBar",h,"A",38/*exBarTreatAsNonworking*/,.T.)
oItems:AddBar(h,"Task","04/06/2009 10:00:00","04/06/2009 12:00:00")
oItems:AddBar(oItems:AddItem("T2"),"Task","04/06/2009 10:00:00","04/06/2009 17:45:00")
oItems:AddItem("")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2047
|
It seems the ResizeUnitCount have no effect on the ZoomOnFly feature, is it normal

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oBar
LOCAL oChart
LOCAL oColumn,oColumn1
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oColumn := oG2antt:Columns():Add("Tasks")
oColumn:AllowSizing := .F.
oColumn:Width := 42
oColumn1 := oG2antt:Columns():Add("Working")
oColumn1:SetProperty("Def",18/*exCellValueToItemBarProperty*/,258)
oColumn1:FormatColumn := "((1:=int(0:= (value))) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')"
oG2antt:HeaderAppearance := 4/*Etched*/
oG2antt:DrawGridLines := -2/*exRowLines*/
oG2antt:GridLineStyle := 48/*exGridLinesSolid*/
oG2antt:SetProperty("SelBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 204,232,255 } ) , .F. ))
oG2antt:SetProperty("SelForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,0 } ) , .F. ))
oChart := oG2antt:Chart()
oChart:SetProperty("SelBackColor",oG2antt:SelBackColor())
oChart:FirstVisibleDate := "04/06/2009"
oChart:SetProperty("PaneWidth",.F.,164)
oChart:LevelCount := 2
oChart:UnitScale := 65536/*exHour*/
oChart:NonworkingHours := 15728767
oChart:ShowNonworkingDates := .F.
oChart:ShowNonworkingUnits := .F.
oChart:ShowNonworkingHours := .F.
oBar := oChart:Bars:Item("Task")
oBar:SetProperty("Def",20/*exBarKeepWorkingCount*/,.T.)
oChart:AllowLinkBars := .F.
oChart:DrawGridLines := -2/*exRowLines*/
oChart:GridLineStyle := 48/*exGridLinesSolid*/
oChart:Level(0):DrawGridLines := .T.
oChart:ResizeUnitScale := 1048576/*exMinute*/
oChart:ResizeUnitCount := 15
oChart:SetProperty("Label",1048576/*exMinute*/,"<|><%nn%><|><%h%>:<%nn%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%> <%AM/PM%><||>15")
oChart:AllowZoomOnFly := 280/*exZoomOnFlyIncludeNeighborItems+exZoomOnFly*/
oChart:SetProperty("BackColorZoomOnFly",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,0 } ) , .F. ))
oG2antt:Items():AllowCellValueToItemBar := .T.
oItems := oG2antt:Items()
oItems:AddItem("")
oItems:AddBar(oItems:AddItem("T1"),"Task","04/06/2009 10:00:00","04/06/2009 12:00:00")
oItems:AddBar(oItems:AddItem("T2"),"Task","04/06/2009 10:00:00","04/06/2009 17:45:00")
oItems:AddItem("")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2046
|
Export Data in HTML format

PROCEDURE OnAddGroupItem(oG2antt,Item)
LOCAL oItems
oItems := oG2antt:Items()
oItems:SetProperty("ItemBold",Item,.T.)
oItems:AddBar(Item,"Summary",oItems:CellValue(Item,2),oItems:CellValue(Item,4))
oItems:DefineSummaryBars(Item,"",-3,"")
RETURN
PROCEDURE OnAddItem(oG2antt,Item)
LOCAL oItems
LOCAL i
oItems := oG2antt:Items()
i := oItems:ItemToIndex(Item)
oItems:AddBar(Item,"Task","01/02/2008","01/09/2008","")
oItems:SetProperty("ItemBar",Item,"",514/*exBarMove*/,i)
oItems:SetProperty("ItemBar",Item,"",513/*exBarDuration*/,i)
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oAppearance
LOCAL oBar,oBar1
LOCAL oChart
LOCAL oColumn,oColumn1
LOCAL oColumns
LOCAL oConditionalFormat,oConditionalFormat1
LOCAL oItems
LOCAL oShellBrowserWindow
LOCAL sFile
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddGroupItem := {|Item| OnAddGroupItem(oG2antt,Item)} /*Occurs after a new Group Item has been inserted to Items collection.*/
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oG2antt:SetProperty("BackColorAlternate",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. ))
oG2antt:DrawGridLines := -1/*exAllLines*/
oG2antt:HeaderAppearance := 4/*Etched*/
oG2antt:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oG2antt:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt:Description(11/*exFilterBarAnd*/)),""))
oG2antt:FilterBarCaption := "(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
oG2antt:FilterBarPromptVisible := 2579/*exFilterBarCompact+exFilterBarShowCloseIfRequired+exFilterBarSingleLine+exFilterBarVisible+exFilterBarPromptVisible*/
oG2antt:FilterBarPromptType := 2/*exFilterPromptContainsAny*/
oG2antt:SingleSort := .F.
oG2antt:AllowGroupBy := .T.
oG2antt:SetProperty("BackColorSortBar",oG2antt:BackColor())
oG2antt:DrawGridLines := -1/*exAllLines*/
oAppearance := oG2antt:VisualAppearance()
oAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzVIUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxINgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZxBBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCg" +;
"eoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA==")
oAppearance:RenderType := -268435456
oChart := oG2antt:Chart()
oChart:DrawGridLines := -1/*exAllLines*/
oChart:SetProperty("PaneWidth",.F.,196)
oChart:LevelCount := 2
oChart:FirstVisibleDate := "01/01/2008"
oChart:FirstWeekDay := 1/*exMonday*/
oBar := oChart:Bars:Item("Summary")
oBar:StartShape := 0/*exShapeIconEmpty*/
oBar:EndShape := 0/*exShapeIconEmpty*/
oBar:Shape := 1/*exShapeSolid*/
oBar:SetProperty("Color",0x1808080)
oBar:Height := 7
oBar:SetProperty("Def",3/*exBarCaption*/,"<%=%513%>")
oBar:SetProperty("Def",4/*exBarHAlignCaption*/,18)
oBar1 := oChart:Bars:Item("Task")
oBar1:SetProperty("Def",3/*exBarCaption*/,"<%=(%2-%1) in (3,5) ? %513 : `` %>")
oBar1:SetProperty("Def",4/*exBarHAlignCaption*/,18)
oConditionalFormat := oG2antt:ConditionalFormats():Add("(%2 - %1) = 3","K3")
oConditionalFormat:SetProperty("ForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oConditionalFormat:SetProperty("BarColor",oConditionalFormat:ForeColor())
oConditionalFormat:ApplyToBars := "Task"
oConditionalFormat1 := oG2antt:ConditionalFormats():Add("(%2 - %1) = 5","K5")
oConditionalFormat1:SetProperty("ForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,255,0 } ) , .F. ))
oConditionalFormat1:SetProperty("BarColor",oConditionalFormat1:ForeColor())
oConditionalFormat1:ApplyToBars := "Task"
oColumns := oG2antt:Columns()
oColumns:Add("Tasks"):SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
oColumn := oColumns:Add("Start")
oColumn:SetProperty("Def",18/*exCellValueToItemBarProperty*/,1)
oColumn:SetProperty("Def",19/*exCellValueToItemBarKey*/,"")
oColumn1 := oColumns:Add("End")
oColumn1:SetProperty("Def",18/*exCellValueToItemBarProperty*/,2)
oColumn1:SetProperty("Def",19/*exCellValueToItemBarKey*/,"")
oItems := oG2antt:Items()
oItems:AllowCellValueToItemBar := .T.
oItems:AddItem("Task A")
oItems:AddItem("Task A")
oItems:AddItem("Task A")
oItems:AddItem("Task A")
oItems:AddItem("Task B")
oItems:AddItem("Task B")
oItems:AddItem("Task B")
oItems:AddItem("Task C")
oG2antt:Columns:Item("Tasks"):SortOrder := 1/*SortAscending*/
oG2antt:EndUpdate()
sFile := "c:/temp/export.html"
oG2antt:Export(sFile,"vis")
oShellBrowserWindow := CreateObject("InternetExplorer.Application")
oShellBrowserWindow:Navigate2(sFile)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2045
|
Export Data in CSV format

PROCEDURE OnAddItem(oG2antt,Item)
LOCAL oItems
LOCAL i
oItems := oG2antt:Items()
i := oItems:ItemToIndex(Item)
oItems:AddBar(Item,"Task","01/02/2008","01/09/2008","")
oItems:SetProperty("ItemBar",Item,"",514/*exBarMove*/,i)
oItems:SetProperty("ItemBar",Item,"",513/*exBarDuration*/,i)
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oBar
LOCAL oChart
LOCAL oColumn,oColumn1
LOCAL oColumns
LOCAL oConditionalFormat,oConditionalFormat1
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oG2antt:SetProperty("BackColorAlternate",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. ))
oG2antt:DrawGridLines := -1/*exAllLines*/
oG2antt:HeaderAppearance := 4/*Etched*/
oG2antt:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oG2antt:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt:Description(11/*exFilterBarAnd*/)),""))
oG2antt:FilterBarCaption := "(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
oG2antt:FilterBarPromptVisible := 2579/*exFilterBarCompact+exFilterBarShowCloseIfRequired+exFilterBarSingleLine+exFilterBarVisible+exFilterBarPromptVisible*/
oG2antt:FilterBarPromptType := 2/*exFilterPromptContainsAny*/
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,196)
oChart:LevelCount := 2
oChart:FirstVisibleDate := "01/01/2008"
oBar := oChart:Bars:Item("Task")
oBar:SetProperty("Def",3/*exBarCaption*/,"<%=(%2-%1) in (3,5) ? %513 : `` %>")
oBar:SetProperty("Def",4/*exBarHAlignCaption*/,18)
oConditionalFormat := oG2antt:ConditionalFormats():Add("(%2 - %1) = 3","K3")
oConditionalFormat:SetProperty("ForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oConditionalFormat:SetProperty("BarColor",oConditionalFormat:ForeColor())
oConditionalFormat:ApplyToBars := "Task"
oConditionalFormat1 := oG2antt:ConditionalFormats():Add("(%2 - %1) = 5","K5")
oConditionalFormat1:SetProperty("ForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,255,0 } ) , .F. ))
oConditionalFormat1:SetProperty("BarColor",oConditionalFormat1:ForeColor())
oConditionalFormat1:ApplyToBars := "Task"
oColumns := oG2antt:Columns()
oColumns:Add("Tasks"):SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
oColumn := oColumns:Add("Start")
oColumn:SetProperty("Def",18/*exCellValueToItemBarProperty*/,1)
oColumn:SetProperty("Def",19/*exCellValueToItemBarKey*/,"")
oColumn1 := oColumns:Add("End")
oColumn1:SetProperty("Def",18/*exCellValueToItemBarProperty*/,2)
oColumn1:SetProperty("Def",19/*exCellValueToItemBarKey*/,"")
oItems := oG2antt:Items()
oItems:AllowCellValueToItemBar := .T.
oItems:AddItem("Task A")
oItems:AddItem("Task A")
oItems:AddItem("Task A")
oItems:AddItem("Task A")
oItems:AddItem("Task B")
oItems:AddItem("Task B")
oItems:AddItem("Task B")
oItems:AddItem("Task C")
oG2antt:EndUpdate()
DevOut( Transform(oG2antt:Export("","vis"),"") )
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2044
|
I want to be able to detect when a user clicks on a row in the chart that is not populated

PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y)
LOCAL date,item,sMessage
item := oG2antt:ItemFromPoint(-1,-1,col,hit)
date := oG2antt:Chart:DateFromPoint(-1,-1)
sMessage := oG2antt:FormatABC("(not(A = 0) ? `chart` : `list`) + ` ` + (not(B = 0) ? `item` : `empty`) ",date,item)
DevOut( Transform(sMessage,"") )
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:SetProperty("PaneWidth",.F.,128)
oChart:LevelCount := 2
oChart:FirstVisibleDate := "01/01/2018"
oG2antt:Columns():Add("Tasks")
oItems := oG2antt:Items()
oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/02/2018","01/12/2018")
oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/03/2018","01/13/2018")
oItems:AddBar(oItems:AddItem("Task 3"),"Task","01/04/2018","01/14/2018")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2043
|
Is it possible to have multiple calendars. A calendar for each row for example. Reason : some of our lines work 2 shifts but some also have a night shift

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oBars
LOCAL oChart
LOCAL oColumn
LOCAL oItems
LOCAL h,sCalendar1,sCalendar2,sCalendar3,sCalendar4
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Columns():Add("Tasks")
oColumn := oG2antt:Columns():Add("Working")
oColumn:SetProperty("Def",18/*exCellValueToItemBarProperty*/,258)
oColumn:FormatColumn := "((1:=int(0:=( 24*int(value) + (value - int(value) + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')"
oChart := oG2antt:Chart()
oChart:FirstVisibleDate := "04/06/2009"
oChart:SetProperty("PaneWidth",.F.,148)
oChart:LevelCount := 2
oChart:ShowNonworkingUnits := .F.
oChart:ShowNonworkingDates := .F.
oBars := oChart:Bars()
oBars:Add("Task:Split"):Shortcut := "Task"
oBars:Item("Task"):SetProperty("Def",20/*exBarKeepWorkingCount*/,.T.)
oChart:SetProperty("Label",65536/*exHour*/,"<%h%><||><||>65536")
oChart:Level(0):FormatLabel := "`<font small fonts;6>` + value"
oChart:Level(1):FormatLabel := "len(value) = 2 ? (`<font small fonts;4>` + (value left 1) + `<br>` + (value right 1) ) : (`<font small fonts;4>` + ` <br>` + (value left 1) + `` )"
oChart:UnitScale := 65536/*exHour*/
oChart:UnitWidth := 9
oG2antt:Items():AllowCellValueToItemBar := .T.
oItems := oG2antt:Items()
sCalendar1 := "weekday(value) in (0,6) or (hour(value) < 6) or (hour(value) > 18)"
h := oItems:AddItem("Shift 1")
oItems:SetProperty("ItemNonworkingUnits",h,.F.,Transform(sCalendar1,""))
oItems:AddBar(h,"Task","04/06/2009","04/07/2009")
h := oItems:AddItem("Shift 1")
oItems:SetProperty("ItemNonworkingUnits",h,.F.,Transform(sCalendar1,""))
oItems:AddBar(h,"Task","04/06/2009","04/08/2009")
sCalendar2 := "weekday(value) in (0,6) or (hour(value) < 8) or (hour(value) > 14)"
h := oItems:AddItem("Shift 2")
oItems:SetProperty("ItemNonworkingUnits",h,.F.,Transform(sCalendar2,""))
oItems:AddBar(h,"Task","04/06/2009","04/07/2009")
h := oItems:AddItem("Shift 2")
oItems:SetProperty("ItemNonworkingUnits",h,.F.,Transform(sCalendar2,""))
oItems:AddBar(h,"Task","04/06/2009","04/08/2009")
sCalendar3 := "weekday(value) in (0,6) or 0 = ( hour(value) mod 3 ) "
h := oItems:AddItem("Shift 3")
oItems:SetProperty("ItemNonworkingUnits",h,.F.,Transform(sCalendar3,""))
oItems:AddBar(h,"Task","04/06/2009","04/07/2009")
h := oItems:AddItem("Shift 3")
oItems:SetProperty("ItemNonworkingUnits",h,.F.,Transform(sCalendar3,""))
oItems:AddBar(h,"Task","04/06/2009","04/08/2009")
sCalendar4 := "weekday(value) in (0,6)"
h := oItems:AddItem("Shift 3")
oItems:SetProperty("ItemNonworkingUnits",h,.F.,Transform(sCalendar4,""))
oItems:AddBar(h,"Task","04/06/2009","04/07/2009")
h := oItems:AddItem("Shift 3")
oItems:SetProperty("ItemNonworkingUnits",h,.F.,Transform(sCalendar4,""))
oItems:AddBar(h,"Task","04/06/2009","04/08/2009")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2042
|
Is it possible to check multiple-items at once

PROCEDURE OnAddItem(oG2antt,Item)
LOCAL oItems
LOCAL bHasParent
bHasParent := oG2antt:FormatABC("value != 0",oG2antt:Items:ItemParent(Item))
oItems := oG2antt:Items()
oItems:SetProperty("CellHasCheckBox",Item,0,.F.)
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumn
LOCAL oItems
LOCAL h,hChild
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/
oColumn := oG2antt:Columns():Add("Tasks")
oColumn:SetProperty("Def",17/*exCellValueFormat*/,1)
oColumn:FormatColumn := "value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)"
oG2antt:HeaderVisible := 1/*exHeaderVisibleExtendLevels*/
oG2antt:SingleSel := .F.
oItems := oG2antt:Items()
h := oItems:AddItem("Project")
hChild := oItems:InsertItem(h,,"Task 1")
hChild := oItems:InsertItem(h,,"Task 2")
hChild := oItems:InsertItem(h,,"Task 3")
oItems:SetProperty("ExpandItem",h,.T.)
oItems:SetProperty("LockedItemCount",0/*exTop*/,1)
oItems:SetProperty("CellValue",oItems:LockedItem(0/*exTop*/,0),0,"<c>Select multiple items and press the <b>SPACE</b> key")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2041
|
How can I prevent changing the start/end colors of the bar, when ItemBar(exBarColor) property is applied

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oBar,oBar1
LOCAL oBars
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oG2antt:VisualAppearance():Add(1,"E:\Exontrol\ExButton\sample\EBN\Assorted\bhframe.ebn")
oG2antt:Chart():SetProperty("PaneWidth",.F.,96)
oBars := oG2antt:Chart():Bars()
oBars:AddShapeCorner(12345,1)
oBars:AddShapeCorner(999,2)
oBars:AddShapeCorner(1049,3)
oBar := oBars:Add("T1")
oBar:StartShape := 12345/*0x3020+exShapeIconVBar+exShapeIconRight*/
oBar:EndShape := 999/*0x3e0+exShapeIconLeft*/
oBar:Pattern := 4/*exPatternNDot*/
oBar:SetProperty("StartColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,255,0 } ) , .F. ))
oBar:SetProperty("Color",0x1000000)
oBar:SetProperty("EndColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oBar:SetProperty("Def",3/*exBarCaption*/,"<%=`<font ;6> ` + %0 + ``%>")
oBar:SetProperty("Def",4/*exBarHAlignCaption*/,18)
oBar1 := oBars:Add("T2")
oBar1:StartShape := 12345/*0x3020+exShapeIconVBar+exShapeIconRight*/
oBar1:EndShape := 1049/*0x400+exShapeIconVBar+exShapeIconRight*/
oBar1:Pattern := 4/*exPatternNDot*/
oBar1:SetProperty("StartColor",-1)
oBar1:SetProperty("Color",0x1000000)
oBar1:SetProperty("EndColor",-1)
oBar1:SetProperty("Def",3/*exBarCaption*/,"<%=`<font ;6> ` + %0 + ``%>")
oBar1:SetProperty("Def",4/*exBarHAlignCaption*/,18)
oG2antt:Chart():FirstVisibleDate := "01/01/2001"
oG2antt:Columns():Add("Column")
oItems := oG2antt:Items()
h := oItems:AddItem("Item 1")
oItems:AddBar(h,"T1","01/02/2001","01/04/2001")
h := oItems:AddItem("Item 2")
oItems:AddBar(h,"T1","01/02/2001","01/04/2001")
oItems:SetProperty("ItemBar",h,"",33/*exBarColor*/,65280)
h := oItems:AddItem("Item 3")
oItems:AddBar(h,"T1","01/02/2001","01/04/2001")
oItems:SetProperty("ItemBar",h,"",33/*exBarColor*/,255)
h := oItems:AddItem("Item 4")
oItems:AddBar(h,"T2","01/02/2001","01/04/2001")
h := oItems:AddItem("Item 5")
oItems:AddBar(h,"T2","01/02/2001","01/04/2001")
oItems:SetProperty("ItemBar",h,"",33/*exBarColor*/,65280)
h := oItems:AddItem("Item 6")
oItems:AddBar(h,"T2","01/02/2001","01/04/2001")
oItems:SetProperty("ItemBar",h,"",33/*exBarColor*/,255)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2040
|
How can I get the icon from the cell when using the Items.CellImages property (icon index)

PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y)
LOCAL i
i := oG2antt:ItemFromPoint(-1,-1,c,hit)
DevOut( Transform(oG2antt:FormatABC("( 0x44 = ( value bitand 0x44 ) ) ? ( ( (value bitand 0xFFFF0000) bitshift 16 ) array B split `,` ) : `no image`",hit,oG2antt:Items:CellImages(i,c)),"") )
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/
oG2antt:BeginUpdate()
oG2antt:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oG2antt:Chart():SetProperty("PaneWidth",.T.,0)
oG2antt:Columns():Add("Default")
oItems := oG2antt:Items()
oItems:SetProperty("CellImages",oItems:AddItem("Item 1"),0,"3,2,1")
oItems:SetProperty("CellImages",oItems:AddItem("Item 2"),0,"2,3")
oItems:SetProperty("CellImages",oItems:AddItem("Item 3"),0,"2,")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2039
|
How can I get the icon from the cell when using the Items.CellImages property (icon position within the cell)

PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y)
LOCAL i
i := oG2antt:ItemFromPoint(-1,-1,c,hit)
DevOut( Transform(oG2antt:FormatABC("( 0x44 = ( value bitand 0x44 ) ) ? 1 + ( (value bitand 0xFFFF0000) bitshift 16 ) : `no image`",hit),"") )
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/
oG2antt:BeginUpdate()
oG2antt:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oG2antt:Chart():SetProperty("PaneWidth",.T.,0)
oG2antt:Columns():Add("Default")
oItems := oG2antt:Items()
oItems:SetProperty("CellImages",oItems:AddItem("Item 1"),0,"3,2,1")
oItems:SetProperty("CellImages",oItems:AddItem("Item 2"),0,"2,3")
oItems:SetProperty("CellImages",oItems:AddItem("Item 3"),0,"2")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2038
|
I have an EBN bar. Now if I apply an additional color to the bar, e,g, yellow, the bar is displayed as "dark yellow", which I assume is due to the black EBN color. How can I get the more "bright yellow" color

PROCEDURE OnAddGroupItem(oG2antt,Item)
LOCAL oItems
LOCAL l
oItems := oG2antt:Items()
oItems:SetProperty("ItemDividerLine",Item,0/*EmptyLine*/)
oItems:AddBar(Item,"Summary","12/02/2017","12/02/2017")
oItems:DefineSummaryBars(Item,"",-3,"")
l := oItems:GroupItem(Item)
oItems:SetProperty("CellSingleLine",Item,l,0/*exCaptionWordWrap*/)
oItems:SetProperty("CellBold",Item,l,.T.)
oItems:SetProperty("ItemBackColor",Item,AutomationTranslateColor( GraMakeRGBColor ( { 190,190,190 } ) , .F. ))
oG2antt:Chart():SetProperty("ItemBackColor",Item,AutomationTranslateColor( GraMakeRGBColor ( { 190,190,190 } ) , .F. ))
RETURN
PROCEDURE OnAddItem(oG2antt,Item)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/10/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oAppearance
LOCAL oBar
LOCAL oChart
LOCAL oColumn,oColumn1
LOCAL oColumns
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddGroupItem := {|Item| OnAddGroupItem(oG2antt,Item)} /*Occurs after a new Group Item has been inserted to Items collection.*/
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oAppearance := oG2antt:VisualAppearance()
oAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzVIUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxINgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZxBBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCg" +;
"eoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA==")
oAppearance:RenderType := -268435456
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,342)
oBar := oChart:Bars:Item("Summary")
oBar:StartShape := 0/*exShapeIconEmpty*/
oBar:EndShape := 0/*exShapeIconEmpty*/
oBar:Shape := 1/*exShapeSolid*/
oBar:SetProperty("Color",0x1ff0000)
oBar:SetProperty("Def",3/*exBarCaption*/,"<%=%513%>")
oBar:SetProperty("Def",4/*exBarHAlignCaption*/,18)
oColumns := oG2antt:Columns()
oColumns:Add("C1")
oColumns:Add("C2")
oColumns:Add("C3")
oColumn := oColumns:Add("Pos")
oColumn:FormatColumn := "1 pos ``"
oColumn:AllowGroupBy := .F.
oColumn:Position := 0
oColumn:Width := 48
oColumn:AllowSizing := .F.
oG2antt:SortBarVisible := .T.
oG2antt:SortBarCaption := "Drag a <b>column</b> header here to group by that column."
oG2antt:AllowGroupBy := .T.
oG2antt:HasLines := 0/*exNoLine*/
oG2antt:LinesAtRoot := 0/*exNoLinesAtRoot*/
oItems := oG2antt:Items()
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item B")
oItems:SetProperty("CellValue",h,1,"SubItem B.1")
oItems:SetProperty("CellValue",h,2,"SubItem B.2")
h := oItems:AddItem("Item B")
oItems:SetProperty("CellValue",h,1,"SubItem B.1")
oItems:SetProperty("CellValue",h,2,"SubItem B.2")
oColumn1 := oG2antt:Columns:Item(0)
oColumn1:SortOrder := 1/*SortAscending*/
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2037
|
Is it possible to change the visual appearance of the position signs when user changes the column's position by drag and drop

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oAppearance
LOCAL oColumns
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:HeaderAppearance := 4/*Etched*/
oColumns := oG2antt:Columns()
oColumns:Add("Column 1")
oColumns:Add("Column 2")
oColumns:Add("Column 3")
oAppearance := oG2antt:VisualAppearance()
oAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzVIUcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4aDhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DBeEMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDI" +;
"BICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAokGKHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhulRGHKGoImefh0BUZ4JmYeoemeSZ2H6HQmgoBgXDqXwUAQgI=")
oAppearance:Add(2,"CP:1 0 -36 0 0")
oG2antt:SetProperty("Background",182/*exColumnsPositionSign*/,0x2000000)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2036
|
Overlaid-Types

PROCEDURE OnAddItem(oG2antt,Item)
LOCAL oItems
LOCAL barName
oItems := oG2antt:Items()
barName := oItems:ItemData(Item)
oItems:AddBar(Item,barName,"01/02/2001","01/04/2001","A1")
oItems:AddBar(Item,barName,"01/03/2001","01/05/2001","A2")
oItems:AddBar(Item,barName,"01/04/2001","01/07/2001","A3")
oItems:AddBar(Item,barName,"01/05/2001","01/08/2001","A4")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oBar,oBar1,oBar2,oBar3,oBar4,oBar5
LOCAL oChart
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oG2antt:DefaultItemHeight := 22
oG2antt:Columns():Add("Task")
oG2antt:ScrollBySingleLine := .T.
oG2antt:SetProperty("BackColorAlternate",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. ))
oG2antt:DrawGridLines := 1/*exHLines*/
oChart := oG2antt:Chart()
oChart:DrawGridLines := 1/*exHLines*/
oChart:ShowNonworkingDates := .F.
oChart:SetProperty("PaneWidth",.F.,164)
oChart:FirstVisibleDate := "12/28/2000"
oChart:LevelCount := 2
oChart:Bars():CallMethod("Copy","Task","Intersect"):SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oChart:Bars:Item("Task"):OverlaidType := 0/*exOverlaidBarsNone*/
oBar := oChart:Bars():CallMethod("Copy","Task","Task-Transparent")
oBar:OverlaidType := 0/*exOverlaidBarsNone*/
oBar:SetProperty("Def",19/*exBarTransparent*/,50)
oBar:Pattern := 32/*exPatternBox*/
oBar:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,0 } ) , .F. ))
oBar:SetProperty("StartColor",AutomationTranslateColor( GraMakeRGBColor ( { 80,80,255 } ) , .F. ))
oBar:SetProperty("EndColor",oBar:StartColor())
oChart:Bars():CallMethod("Copy","Task","Task-Offset"):OverlaidType := 1/*exOverlaidBarsOffset*/
oBar1 := oChart:Bars():CallMethod("Copy","Task","Task-OffsetTransparent")
oBar1:OverlaidType := 257/*exOverlaidBarsTransparent+exOverlaidBarsOffset*/
oBar1:SetProperty("Overlaid",256/*exOverlaidBarsTransparent*/,75)
oBar2 := oChart:Bars():CallMethod("Copy","Task","Task-Intersect")
oBar2:OverlaidType := 2/*exOverlaidBarsIntersect*/
oBar2:SetProperty("Overlaid",2/*exOverlaidBarsIntersect*/,"Intersect")
oChart:Bars():CallMethod("Copy","Task","Task-Stack"):OverlaidType := 3/*exOverlaidBarsStack*/
oBar3 := oChart:Bars():CallMethod("Copy","Task","Task-StackAutoArrange")
oBar3:OverlaidType := 515/*exOverlaidBarsStackAutoArrange+exOverlaidBarsStack*/
oBar3:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oBar3:OverlaidGroup := "Task"
oBar4 := oChart:Bars():CallMethod("Copy","Task","Task-Cascade")
oBar4:OverlaidType := 4/*exOverlaidBarsCascade*/
oBar4:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oBar4:OverlaidGroup := "Task"
oBar5 := oChart:Bars():CallMethod("Copy","Task","Task-Strict")
oBar5:OverlaidType := 8195/*exOverlaidBarsStrict+exOverlaidBarsStack*/
oBar5:OverlaidGroup := "Task"
oBar5:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oItems := oG2antt:Items()
oItems:InsertItem(0,"Task","Overlaid-None")
oItems:InsertItem(0,"Task-Transparent","Overlaid-Semi-Transparent")
oItems:InsertItem(0,"Task-Offset","Overlaid-Offset")
oItems:InsertItem(0,"Task-OffsetTransparent","Overlaid-OffsetTransparent")
oItems:InsertItem(0,"Task-Intersect","Overlaid-Intersect")
oItems:InsertItem(0,"Task-Stack","Overlaid-Stack")
h := oItems:InsertItem(0,"Task-StackAutoArrange","Overlaid-StackAutoArrange")
oItems:AddBar(h,"Task","01/07/2001","01/09/2001","T1")
oItems:AddBar(h,"Task","01/03/2001","01/05/2001","T2")
oItems:AddBar(h,"Task","01/04/2001","01/07/2001","T3")
oItems:AddBar(h,"Task","01/05/2001","01/08/2001","T4")
h := oItems:InsertItem(0,"Task-Cascade","Overlaid-Cascade")
oItems:AddBar(h,"Task","01/07/2001","01/09/2001","T1")
oItems:AddBar(h,"Task","01/03/2001","01/05/2001","T2")
oItems:AddBar(h,"Task","01/04/2001","01/07/2001","T3")
oItems:AddBar(h,"Task","01/05/2001","01/08/2001","T4")
oItems:SetProperty("ItemBar",h,"<A*>",52/*exBarOverlaidKey*/,"A")
oItems:SetProperty("ItemBar",h,"<T*>",52/*exBarOverlaidKey*/,"T")
h := oItems:InsertItem(0,"Task","Overlaid-StackStrict")
oItems:AddBar(h,"Task-Strict","01/07/2001","01/09/2001","T1")
oItems:SetProperty("ItemBar",0,"<*>",3/*exBarCaption*/,"<%=%9%>")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2035
|
FilterBarCaption ALLUI Keyword ( sample 3, result, leaf )

PROCEDURE OnAddGroupItem(oG2antt,Item)
LOCAL oItems,oItems1
LOCAL l,val
oItems := oG2antt:Items()
oItems:SetProperty("ItemBackColor",Item,AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. ))
val := oItems:CellValue(Item,oItems:GroupItem(Item))
oItems:SetProperty("CellState",Item,oItems:GroupItem(Item),oG2antt:FormatABC("A = `Checked` ? 1 : 0",val))
oItems1 := oG2antt:Items()
oItems1:SetProperty("ItemDividerLine",Item,0/*EmptyLine*/)
oItems1:AddBar(Item,"Summary","12/02/2017","12/02/2017")
oItems1:DefineSummaryBars(Item,"",-3,"")
l := oItems1:GroupItem(Item)
oItems1:SetProperty("CellSingleLine",Item,l,0/*exCaptionWordWrap*/)
oItems1:SetProperty("CellBold",Item,l,.T.)
oG2antt:Chart():SetProperty("ItemBackColor",Item,AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. ))
RETURN
PROCEDURE OnAddItem(oG2antt,Item)
LOCAL i
i := oG2antt:FormatABC("value + 1",oG2antt:Items:ItemToIndex(Item))
oG2antt:Items():SetProperty("CellImage",Item,3,i)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oBar
LOCAL oChart
LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4,oColumn5
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddGroupItem := {|Item| OnAddGroupItem(oG2antt,Item)} /*Occurs after a new Group Item has been inserted to Items collection.*/
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oG2antt:VisualAppearance():Add(1,"gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzVIUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxINgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZxBBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCg" +;
"eoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA==")
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,256)
oBar := oChart:Bars:Item("Summary")
oBar:StartShape := 0/*exShapeIconEmpty*/
oBar:EndShape := 0/*exShapeIconEmpty*/
oBar:Shape := 1/*exShapeSolid*/
oBar:SetProperty("Color",0x1000000)
oBar:SetProperty("Def",3/*exBarCaption*/,"<%=%513%>")
oBar:SetProperty("Def",4/*exBarHAlignCaption*/,18)
oG2antt:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oColumn := oG2antt:Columns():Add("Col-1")
oColumn:DisplayFilterButton := .T.
oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/
oColumn1 := oG2antt:Columns():Add("Col-2")
oColumn1:DisplayFilterButton := .T.
oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/
oColumn2 := oG2antt:Columns():Add("Check")
oColumn2:SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
oColumn2:DisplayFilterButton := .T.
oColumn2:DisplayFilterPattern := .F.
oColumn2:FilterType := 6/*exCheck*/
oColumn3 := oG2antt:Columns():Add("Image")
oColumn3:DisplayFilterButton := .T.
oColumn3:FilterType := 10/*exImage*/
oColumn3:FilterList := 9472/*exShowExclude+exShowFocusItem+exShowCheckBox*/
oColumn4 := oG2antt:Columns():Add("Pos")
oColumn4:AllowSizing := .F.
oColumn4:AllowSort := .F.
oColumn4:Width := 32
oColumn4:FormatColumn := "1 rpos ``"
oColumn4:Position := 0
oItems := oG2antt:Items()
oItems:SetProperty("CellValue",oItems:AddItem("Item A"),1,"Sub-Item A")
h := oItems:AddItem("Item B")
oItems:SetProperty("CellValue",h,1,"Sub-Item B")
oItems:SetProperty("CellState",h,2,1)
oItems:SetProperty("CellValue",oItems:AddItem("Item C"),1,"Sub-Item C")
oG2antt:FilterBarFont := oG2antt:Font()
oG2antt:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oG2antt:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt:Description(11/*exFilterBarAnd*/)),""))
oG2antt:FilterBarCaption := "(( ( allui replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + leafitemcount + ` result(s)` ) : (`<r><fgcolor=808080>`+ leafitemcount + ` item(s)`) )))"
oG2antt:FilterBarPromptVisible := 3/*exFilterBarVisible+exFilterBarPromptVisible*/
oG2antt:AllowGroupBy := .T.
oG2antt:SortBarVisible := .T.
oColumn5 := oG2antt:Columns:Item(2)
oColumn5:FormatColumn := "%CS2 ? `Checked` : `Unchecked`"
oColumn5:SortOrder := 1/*SortAscending*/
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2034
|
A black portion is shown while I am using the BackColorAlternate with EBN colors. What can I do

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumn,oColumn1
LOCAL oConditionalFormat
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:ColumnAutoResize := .T.
oG2antt:DefaultItemHeight := 20
oG2antt:VisualAppearance():Add(1,"gBFLBCJwBAEHhEJAAEhIDhAxHAxg0HG0Mg4xGI3HMOig3GcJiYAf8jAEhhUnAAyhEqg8hk0oAsIjgAiAwmYxGA4mYzGwwkI0i0ooUnB0IBMIl1Dg8zmYyGolptPkI1mY1GAll9KoUslNIrVCqNQldShFUstXAVfrVcrlZtVhuFnsUHq1zoczoQGhFBkNpg6zbDykUkhsPHE2h85nc9n8xtVDtlex9Msd2p1YstVq9ux8HyMtzuFz1PsNTzQlv2hhWfkuqpeVuN0q+nvEooN5veSAGpkb/ACcZrvhU3w83nM/poxGuchGpoVBvWgg+8knA4WimnFxI45Er5XOlHMg/Q3XU33W4ew9Wyu11mchDagcO7zus8VDoNBBEIKBpMY6DqOQyokhA/IQIQmwMk4bIQFDcoO6LWgwhQkNcABwEyAB5GwWbet6cRQg3DENQ5D8QxADZvEkAB8nabsURGeBpFM3pwE2AEZRpDx/neZpOR3Dz9oO/r/wCMoZNTBQAQR" +;
"JSEwYg8HPGhEIoNCaEwq10gQ2WcRt7LcRxRFpuxUAEURQ3sczBEMgTTG8gN7HpOSEAEiQBAQZpmQ0DibPUFwbKcHwkhQoQtNQNzNEMbABOKDy/DMYQzHLeoPL0OTJSUd0pHcxTewk5zrIygIRPslz4lEngBKIAQivgASs/kLSBTlO00f8t0vGcgUbDlDRjXLCUNRERRvRgAHW2oAICA==")
oColumn := oG2antt:Columns():Add("Default")
oColumn:SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
oColumn:PartialCheck := .T.
oColumn1 := oG2antt:Columns():Add("Position")
oColumn1:FormatColumn := "1 rindex ``"
oColumn1:Visible := .F.
oConditionalFormat := oG2antt:ConditionalFormats():Add("%C1 mod 2")
oConditionalFormat:SetProperty("BackColor",0x1000000)
oItems := oG2antt:Items()
oItems:AddItem("Item 1")
oItems:AddItem("Item 2")
oItems:AddItem("Item 3")
oItems:AddItem("Item 4")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2033
|
How can I specify alternate background colors for each root item, similar with BackColorAlternate

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oColumn,oColumn1
LOCAL oConditionalFormat
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/
oColumn := oG2antt:Columns():Add("Default")
oColumn:SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
oColumn:PartialCheck := .T.
oColumn1 := oG2antt:Columns():Add("Position")
oColumn1:FormatColumn := "( ( 1:=( ( 0:=(1 rpos '') ) lfind `.`) ) < 0 ? =:0 : (=:0 left =:1) )"
oColumn1:Visible := .F.
oConditionalFormat := oG2antt:ConditionalFormats():Add("%C1 mod 2")
oConditionalFormat:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. ))
oItems := oG2antt:Items()
h := oItems:AddItem("Root 1")
oItems:InsertItem(h,,"Child 1")
oItems:InsertItem(h,,"Child 2")
oItems:SetProperty("ExpandItem",h,.T.)
h := oItems:AddItem("Root 2")
oItems:InsertItem(h,,"Child 1")
oItems:InsertItem(h,,"Child 2")
h := oItems:AddItem("Root 3")
oItems:InsertItem(h,,"Child 1")
oItems:InsertItem(h,,"Child 2")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2032
|
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 4)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/
oG2antt:VisualDesign := "gBFLBWIgBAEHhEJAEGg6VAkHeLpgwChAOhULB8XAUUg8MAAREEHGMcgRCJ0ei8dhABDEcQAAYAQGKIYBkAKBQAGaAoDDMOQwQwAAxjGKEEwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5GQBRWAkEwiBiEQTjea5CgOIAFS7LIqjRQEBxhIaZYIGaiQADENo9TxIMZAfBIHShK6NJABCCSQKkYx0HScRijDIEFwGIQmbKiej4DCiCQQW7OYYRVCNMQSfa8HivJyrcamfp/YBgOBYHb1eLVPR5LwfPCGUw1P6PLxkORZHimK4tSLHV7xVpMIwZFafIQhCCoHomS5NU7UNR0TQUFx9FaGX7rDDsGwLAJ6XRgF4bg2VpnHePpenAN4bH2GwHFmApSjEGBLnWOpRGOTBZHOegrE6BxPiWVJqCweQrn0LgJAWJBjwgaw1gKO5HmWch5h+fovF+G5bmich4BgfZkB8dynRUVYqiUR5rnmex/F6" +;
"N4tn2AJfnebZ3DEXw3HWXgzAyIwgicKJKBKEIhCeCgiHyHYFEmSAFmqBghFIdgSCeIJygYDAyAgJx6AoIINAMOJNCgCZCGoGoLmMCI+CwJoihMNglCCIhzFCUg0EmMhghWDBkAiQg9CUY4jEYN4Jk2IxklYJoJHIUg+CSZJSESFwkkkGI+FOFIJEIRhPhMCRJCSVoRrSBhiDgTZjHYT4PEkYhwhgJYm0SaIaiaSYuE+GQNlmCIBGCJxjhiZQ5AkMhAg6ExJCkPhPguaAiFYUAlAkKZ0g6HoOEmWR/GHcA4m0OwIlIJIHCRgQshGJhpjoaocieaZiC6GAimkUgehIOwnGYGYIGkah6jaE4rg6SpCjKK5rEOMYlGIGIihKOggloFoqj6L5aGaBo6CkGIkAQjiPpCAAaJILCTJQlKPACDaXJgmSaJsnCdJ4nygKEoijKQpSmKcqCpKoqysK0rivLAsSyLMtC1LYty4Lkui7LwvS+L8wDBMIwzEMUxjHMgyT" +;
"KMszDNM4zzQNE0jTNQ1TWNc2DZNo2zcN03jfOA4TiOM5DlOY5zoOk6jrOw7TuO88DxPI8z0PU9j3Pg+T6Ps/D9P4/0AQFAkDQRBUGQdCEJQpC0MQ1DkPRBEUSRNFEVBhFkXRhGQ9D6Dxfh+W5gGGd4QH2XQjCmDpFFaKoVB+D5Xmed5+H8YAHnIAh9EwV5Fl0d4MkMKJICmSgygSJAoEmMUCIPgnDCCIOQFYCxJjwFoCcA4kxoF+AIJkAgExegDEgEYQInAzCUAIOEGgfxiiRDYF1Q4EQ2BSCaEQYwbAiKREMpRSymFNDIAkAxT6oVRgSA2qdVKq1WqvVirMZQUhSCnBUMoIgoQRgnGSIQUgkg1hIHYAkAYMROAmHiLsE4xxSCxBwEwCQ0wmDdBsE0GYXBtg2CSPMFIuwYiQBYBQeAcwOCnBCCZgw0g0glBONAQgqQThCGgPQGoBQfiRGmOEZIPAXjsBoPAO4HRThhA0EQSA5BAgaCKJIGg3QdhOCmNU" +;
"BoQAijTCIF0FwQxpCHDIPAYYMQGgtCmFcaQtRAjZCyFYSojQ2B2BoKwIYFApBXEIBsIQ1QsAWAWEwaA1xCgjAoIAQBAQ="
oG2antt:Columns():Add("Column")
oItems := oG2antt:Items()
h := oItems:AddItem("Root 1")
oItems:InsertItem(h,,"Child 1")
oItems:InsertItem(h,,"Child 2")
oItems:SetProperty("ExpandItem",h,.T.)
h := oItems:AddItem("Root 2")
oItems:InsertItem(h,,"Child")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2031
|
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 3)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oAppearance
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oAppearance := oG2antt:VisualAppearance()
oAppearance:Add(3,"gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSBcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfDxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5Jlg" +;
"XIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIRgwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOMINCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA=")
oAppearance:Add(1,"CP:3 -2 -2 2 2")
oAppearance:Add(4,"gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSBcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfDxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCE" +;
"eBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchOFSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQOJtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI=")
oAppearance:Add(2,"CP:4 -2 -2 2 2")
oG2antt:LinesAtRoot := 1/*exGroupLinesAtRoot*/
oG2antt:HasButtons := 4/*exCustom*/
oG2antt:SetProperty("HasButtonsCustom",.F.,16777216)
oG2antt:SetProperty("HasButtonsCustom",.T.,33554432)
oG2antt:Columns():Add("Column")
oItems := oG2antt:Items()
h := oItems:AddItem("Root 1")
oItems:InsertItem(h,,"Child 1")
oItems:InsertItem(h,,"Child 2")
oItems:SetProperty("ExpandItem",h,.T.)
h := oItems:AddItem("Root 2")
oItems:InsertItem(h,,"Child")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2030
|
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oAppearance
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oAppearance := oG2antt:VisualAppearance()
oAppearance:Add(1,"XP:TREEVIEW 2 1")
oAppearance:Add(2,"XP:TREEVIEW 2 2")
oG2antt:SetProperty("Background",180/*exTreeGlyphOpen*/,0x1000000)
oG2antt:SetProperty("Background",181/*exTreeGlyphClose*/,0x2000000)
oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/
oG2antt:Columns():Add("Column")
oItems := oG2antt:Items()
h := oItems:AddItem("Root 1")
oItems:InsertItem(h,,"Child 1")
oItems:InsertItem(h,,"Child 2")
oItems:SetProperty("ExpandItem",h,.T.)
h := oItems:AddItem("Root 2")
oItems:InsertItem(h,,"Child")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2029
|
How can I find if the control is running in DPI mode
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
DevOut( Transform(oG2antt:FormatABC("dpi = 1 ? `normal/stretch mode` : `dpi mode`"),"") )
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2028
|
How can I change the visual appearance of the +/- buttons (method 1)

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oAppearance
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oAppearance := oG2antt:VisualAppearance()
oAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSBcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfDxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5Jlg" +;
"XIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIRgwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOMINCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA=")
oAppearance:Add(2,"gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSBcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfDxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCE" +;
"eBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchOFSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQOJtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI=")
oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/
oG2antt:SetProperty("Background",180/*exTreeGlyphOpen*/,0x1000000)
oG2antt:SetProperty("Background",181/*exTreeGlyphClose*/,0x2000000)
oG2antt:Columns():Add("Column")
oItems := oG2antt:Items()
h := oItems:AddItem("Root 1")
oItems:InsertItem(h,,"Child 1")
oItems:InsertItem(h,,"Child 2")
oItems:SetProperty("ExpandItem",h,.T.)
h := oItems:AddItem("Root 2")
oItems:InsertItem(h,,"Child")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2027
|
How can I add a summary bar once the user group by a column

PROCEDURE OnAddGroupItem(oG2antt,Item)
LOCAL oItems
LOCAL l
oItems := oG2antt:Items()
oItems:SetProperty("ItemDividerLine",Item,0/*EmptyLine*/)
oItems:AddBar(Item,"Summary","12/02/2017","12/02/2017")
oItems:DefineSummaryBars(Item,"",-3,"")
l := oItems:GroupItem(Item)
oItems:SetProperty("CellSingleLine",Item,l,0/*exCaptionWordWrap*/)
oItems:SetProperty("CellBold",Item,l,.T.)
oItems:SetProperty("ItemBackColor",Item,AutomationTranslateColor( GraMakeRGBColor ( { 190,190,190 } ) , .F. ))
oG2antt:Chart():SetProperty("ItemBackColor",Item,AutomationTranslateColor( GraMakeRGBColor ( { 190,190,190 } ) , .F. ))
RETURN
PROCEDURE OnAddItem(oG2antt,Item)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/10/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oBar
LOCAL oChart
LOCAL oColumn,oColumn1
LOCAL oColumns
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddGroupItem := {|Item| OnAddGroupItem(oG2antt,Item)} /*Occurs after a new Group Item has been inserted to Items collection.*/
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oG2antt:VisualAppearance():Add(1,"gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzVIUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxINgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZxBBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCg" +;
"eoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA==")
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,342)
oBar := oChart:Bars:Item("Summary")
oBar:StartShape := 0/*exShapeIconEmpty*/
oBar:EndShape := 0/*exShapeIconEmpty*/
oBar:Shape := 1/*exShapeSolid*/
oBar:SetProperty("Color",0x1000000)
oBar:SetProperty("Def",3/*exBarCaption*/,"<%=%513%>")
oBar:SetProperty("Def",4/*exBarHAlignCaption*/,18)
oColumns := oG2antt:Columns()
oColumns:Add("C1")
oColumns:Add("C2")
oColumns:Add("C3")
oColumn := oColumns:Add("Pos")
oColumn:FormatColumn := "1 pos ``"
oColumn:AllowGroupBy := .F.
oColumn:Position := 0
oColumn:Width := 48
oColumn:AllowSizing := .F.
oG2antt:SortBarVisible := .T.
oG2antt:SortBarCaption := "Drag a <b>column</b> header here to group by that column."
oG2antt:AllowGroupBy := .T.
oG2antt:HasLines := 0/*exNoLine*/
oG2antt:LinesAtRoot := 0/*exNoLinesAtRoot*/
oItems := oG2antt:Items()
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item B")
oItems:SetProperty("CellValue",h,1,"SubItem B.1")
oItems:SetProperty("CellValue",h,2,"SubItem B.2")
h := oItems:AddItem("Item B")
oItems:SetProperty("CellValue",h,1,"SubItem B.1")
oItems:SetProperty("CellValue",h,2,"SubItem B.2")
oColumn1 := oG2antt:Columns:Item(0)
oColumn1:SortOrder := 1/*SortAscending*/
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2026
|
Is it possible to display no +/- button for grouped items

PROCEDURE OnAddGroupItem(oG2antt,Item)
LOCAL oItems
LOCAL l
oItems := oG2antt:Items()
oItems:SetProperty("ItemDividerLine",Item,0/*EmptyLine*/)
oItems:AddBar(Item,"Progress","12/02/2017","12/02/2017")
oItems:DefineSummaryBars(Item,"",-3,"")
l := oItems:GroupItem(Item)
oItems:SetProperty("CellSingleLine",Item,l,0/*exCaptionWordWrap*/)
oItems:SetProperty("CellBold",Item,l,.T.)
oItems:SetProperty("ItemBackColor",Item,AutomationTranslateColor( GraMakeRGBColor ( { 190,190,190 } ) , .F. ))
oG2antt:Chart():SetProperty("ItemBackColor",Item,AutomationTranslateColor( GraMakeRGBColor ( { 190,190,190 } ) , .F. ))
RETURN
PROCEDURE OnAddItem(oG2antt,Item)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/10/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn,oColumn1
LOCAL oColumns
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddGroupItem := {|Item| OnAddGroupItem(oG2antt,Item)} /*Occurs after a new Group Item has been inserted to Items collection.*/
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,342)
oColumns := oG2antt:Columns()
oColumns:Add("C1")
oColumns:Add("C2")
oColumns:Add("C3")
oColumn := oColumns:Add("Pos")
oColumn:FormatColumn := "1 pos ``"
oColumn:AllowGroupBy := .F.
oColumn:Position := 0
oColumn:Width := 48
oColumn:AllowSizing := .F.
oG2antt:SortBarVisible := .T.
oG2antt:SortBarCaption := "Drag a <b>column</b> header here to group by that column."
oG2antt:AllowGroupBy := .T.
oG2antt:HasLines := 0/*exNoLine*/
oG2antt:LinesAtRoot := 0/*exNoLinesAtRoot*/
oItems := oG2antt:Items()
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item B")
oItems:SetProperty("CellValue",h,1,"SubItem B.1")
oItems:SetProperty("CellValue",h,2,"SubItem B.2")
h := oItems:AddItem("Item B")
oItems:SetProperty("CellValue",h,1,"SubItem B.1")
oItems:SetProperty("CellValue",h,2,"SubItem B.2")
oColumn1 := oG2antt:Columns:Item(0)
oColumn1:SortOrder := 1/*SortAscending*/
oColumn1:Alignment := 1/*CenterAlignment*/
oColumn1:SetProperty("Def",4/*exCellBackColor*/,15790320)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2025
|
How can I change the label, caption or the formula of the grouped items

PROCEDURE OnAddGroupItem(oG2antt,Item)
LOCAL oItems
oItems := oG2antt:Items()
oItems:AddBar(Item,"Progress","12/02/2017","12/02/2017")
oItems:DefineSummaryBars(Item,"",-3,"")
RETURN
PROCEDURE OnAddItem(oG2antt,Item)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/10/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn,oColumn1
LOCAL oColumns
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddGroupItem := {|Item| OnAddGroupItem(oG2antt,Item)} /*Occurs after a new Group Item has been inserted to Items collection.*/
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,342)
oColumns := oG2antt:Columns()
oColumn := oColumns:Add("C1")
oColumn:GroupByTotalField := ""
oColumn:GroupByFormatCell := "upper(value)"
oColumns:Add("C2")
oColumns:Add("C3")
oColumn1 := oColumns:Add("Pos")
oColumn1:FormatColumn := "1 pos ``"
oColumn1:AllowGroupBy := .F.
oColumn1:Position := 0
oColumn1:Width := 48
oColumn1:AllowSizing := .F.
oG2antt:SortBarVisible := .T.
oG2antt:SortBarCaption := "Drag a <b>column</b> header here to group by that column."
oG2antt:AllowGroupBy := .T.
oItems := oG2antt:Items()
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item B")
oItems:SetProperty("CellValue",h,1,"SubItem B.1")
oItems:SetProperty("CellValue",h,2,"SubItem B.2")
h := oItems:AddItem("Item B")
oItems:SetProperty("CellValue",h,1,"SubItem B.1")
oItems:SetProperty("CellValue",h,2,"SubItem B.2")
oG2antt:Columns:Item(0):SortOrder := 1/*SortAscending*/
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2024
|
How can I change the aspect of grouped items

PROCEDURE OnAddGroupItem(oG2antt,Item)
LOCAL oItems
LOCAL l
oItems := oG2antt:Items()
oItems:SetProperty("ItemDividerLine",Item,0/*EmptyLine*/)
oItems:AddBar(Item,"Progress","12/02/2017","12/02/2017")
oItems:DefineSummaryBars(Item,"",-3,"")
l := oItems:GroupItem(Item)
oItems:SetProperty("CellSingleLine",Item,l,0/*exCaptionWordWrap*/)
oItems:SetProperty("CellBold",Item,l,.T.)
oItems:SetProperty("ItemBackColor",Item,AutomationTranslateColor( GraMakeRGBColor ( { 190,190,190 } ) , .F. ))
oG2antt:Chart():SetProperty("ItemBackColor",Item,AutomationTranslateColor( GraMakeRGBColor ( { 190,190,190 } ) , .F. ))
RETURN
PROCEDURE OnAddItem(oG2antt,Item)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/10/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn
LOCAL oColumns
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddGroupItem := {|Item| OnAddGroupItem(oG2antt,Item)} /*Occurs after a new Group Item has been inserted to Items collection.*/
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,342)
oColumns := oG2antt:Columns()
oColumns:Add("C1")
oColumns:Add("C2")
oColumns:Add("C3")
oColumn := oColumns:Add("Pos")
oColumn:FormatColumn := "1 pos ``"
oColumn:AllowGroupBy := .F.
oColumn:Position := 0
oColumn:Width := 48
oColumn:AllowSizing := .F.
oG2antt:SortBarVisible := .T.
oG2antt:SortBarCaption := "Drag a <b>column</b> header here to group by that column."
oG2antt:AllowGroupBy := .T.
oItems := oG2antt:Items()
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item B")
oItems:SetProperty("CellValue",h,1,"SubItem B.1")
oItems:SetProperty("CellValue",h,2,"SubItem B.2")
h := oItems:AddItem("Item B")
oItems:SetProperty("CellValue",h,1,"SubItem B.1")
oItems:SetProperty("CellValue",h,2,"SubItem B.2")
oG2antt:Columns:Item(0):SortOrder := 1/*SortAscending*/
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2023
|
How can I collapse all items when the user performs a grouping

PROCEDURE OnAddGroupItem(oG2antt,Item)
LOCAL oItems
oItems := oG2antt:Items()
oItems:SetProperty("ExpandItem",Item,.F.)
oItems:SetProperty("ItemDividerLine",Item,0/*EmptyLine*/)
oItems:AddBar(Item,"Progress","12/02/2017","12/02/2017")
oItems:DefineSummaryBars(Item,"",-3,"")
RETURN
PROCEDURE OnAddItem(oG2antt,Item)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/10/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn
LOCAL oColumns
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddGroupItem := {|Item| OnAddGroupItem(oG2antt,Item)} /*Occurs after a new Group Item has been inserted to Items collection.*/
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,342)
oColumns := oG2antt:Columns()
oColumns:Add("C1")
oColumns:Add("C2")
oColumns:Add("C3")
oColumn := oColumns:Add("Pos")
oColumn:FormatColumn := "1 pos ``"
oColumn:AllowGroupBy := .F.
oColumn:Position := 0
oColumn:Width := 48
oColumn:AllowSizing := .F.
oG2antt:SortBarVisible := .T.
oG2antt:SortBarCaption := "Drag a <b>column</b> header here to group by that column."
oG2antt:AllowGroupBy := .T.
oItems := oG2antt:Items()
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item B")
oItems:SetProperty("CellValue",h,1,"SubItem B.1")
oItems:SetProperty("CellValue",h,2,"SubItem B.2")
h := oItems:AddItem("Item B")
oItems:SetProperty("CellValue",h,1,"SubItem B.1")
oItems:SetProperty("CellValue",h,2,"SubItem B.2")
oG2antt:Columns:Item(0):SortOrder := 1/*SortAscending*/
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2022
|
Is it possible to select columns that user can drop to the sort bar, when using the Group By feature

PROCEDURE OnAddItem(oG2antt,Item)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/10/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn
LOCAL oColumns
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,342)
oColumns := oG2antt:Columns()
oColumns:Add("C1")
oColumns:Add("C2")
oColumns:Add("C3")
oColumn := oColumns:Add("Pos")
oColumn:FormatColumn := "1 pos ``"
oColumn:AllowGroupBy := .F.
oColumn:Position := 0
oColumn:Width := 48
oColumn:AllowSizing := .F.
oG2antt:SortBarVisible := .T.
oG2antt:SortBarCaption := "<fgcolor=FF0000>Try to drag the Pos column here."
oG2antt:AllowGroupBy := .T.
oItems := oG2antt:Items()
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item A")
oItems:SetProperty("CellValue",h,1,"SubItem A.1")
oItems:SetProperty("CellValue",h,2,"SubItem A.2")
h := oItems:AddItem("Item B")
oItems:SetProperty("CellValue",h,1,"SubItem B.1")
oItems:SetProperty("CellValue",h,2,"SubItem B.2")
h := oItems:AddItem("Item B")
oItems:SetProperty("CellValue",h,1,"SubItem B.1")
oItems:SetProperty("CellValue",h,2,"SubItem B.2")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2021
|
How can I filter for the type of the bars I have in my chart

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oBar,oBar1,oBar2
LOCAL oChart
LOCAL oColumn,oColumn1,oColumn2
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "11/28/2017"
oChart:SetProperty("PaneWidth",.F.,0)
oBar := oChart:Bars:Item("Task")
oBar:SetProperty("Def",3/*exBarCaption*/,"<%=%0%>")
oBar:SetProperty("Def",4/*exBarHAlignCaption*/,18)
oBar1 := oChart:Bars():CallMethod("Copy","Task","GTask")
oBar1:SetProperty("Def",3/*exBarCaption*/,"<%=%0%>")
oBar1:SetProperty("Def",4/*exBarHAlignCaption*/,18)
oBar1:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 0,255,0 } ) , .F. ))
oBar2 := oChart:Bars():CallMethod("Copy","Task","RTask")
oBar2:SetProperty("Def",3/*exBarCaption*/,"<%=%0%>")
oBar2:SetProperty("Def",4/*exBarHAlignCaption*/,18)
oBar2:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oChart:ColumnsFormatLevel := "0"
oG2antt:OnResizeControl := 129/*exDisableSplitter+exResizeChart*/
oColumn := oG2antt:Columns():Add("Default")
oColumn:DisplayFilterButton := .T.
oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/
oColumn1 := oG2antt:Columns():Add("Type")
oColumn1:SetProperty("Def",19/*exCellValueToItemBarKey*/,"")
oColumn1:SetProperty("Def",18/*exCellValueToItemBarProperty*/,0)
oColumn1:Visible := .F.
oColumn1:DisplayFilterButton := .T.
oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/
oItems := oG2antt:Items()
oItems:AllowCellValueToItemBar := .T.
oItems:AddBar(oItems:AddItem("Item 1"),"Task","12/04/2017","12/12/2017")
oItems:AddBar(oItems:AddItem("Item 2"),"GTask","12/04/2017","12/12/2017")
oItems:AddBar(oItems:AddItem("Item 3"),"RTask","12/04/2017","12/12/2017")
oItems:AddBar(oItems:AddItem("Item 4"),"Task","12/04/2017","12/12/2017")
oItems:AddBar(oItems:AddItem("Item 5"),"GTask","12/04/2017","12/12/2017")
oItems:AddBar(oItems:AddItem("Item 6"),"RTask","12/04/2017","12/12/2017")
oG2antt:FilterBarFont := oG2antt:Font()
oG2antt:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oG2antt:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt:Description(11/*exFilterBarAnd*/)),""))
oG2antt:FilterBarCaption := "(( ( all replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
oG2antt:FilterBarPromptVisible := 2579/*exFilterBarCompact+exFilterBarShowCloseIfRequired+exFilterBarSingleLine+exFilterBarVisible+exFilterBarPromptVisible*/
oColumn2 := oG2antt:Columns:Item(1)
oColumn2:FilterType := 240/*exFilter*/
oColumn2:Filter := "GTask|RTask"
oG2antt:ApplyFilter()
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2020
|
How can I display the control's filter bar in the Items section only, as it was displayed before

PROCEDURE OnAddItem(oG2antt,Item)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn,oColumn1,oColumn2,oColumn3
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,256)
oColumn := oG2antt:Columns():Add("Col-1")
oColumn:DisplayFilterButton := .T.
oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/
oColumn1 := oG2antt:Columns():Add("Col-2")
oColumn1:DisplayFilterButton := .T.
oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/
oColumn2 := oG2antt:Columns():Add("Pos")
oColumn2:AllowSizing := .F.
oColumn2:AllowSort := .F.
oColumn2:Width := 32
oColumn2:FormatColumn := "1 apos ``"
oColumn2:Position := 0
oItems := oG2antt:Items()
oItems:SetProperty("CellValue",oItems:AddItem("Item A"),1,"Sub-Item A")
oItems:SetProperty("CellValue",oItems:AddItem("Item B"),1,"Sub-Item B")
oItems:SetProperty("CellValue",oItems:AddItem("Item C"),1,"Sub-Item C")
oG2antt:FilterBarPromptVisible := 4096/*exFilterBarShort*/
oColumn3 := oG2antt:Columns:Item(1)
oColumn3:FilterType := 3/*exPattern*/
oColumn3:Filter := "*B"
oG2antt:ApplyFilter()
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2019
|
FilterBarCaption ALL Keyword ( sample 2, result )

PROCEDURE OnAddItem(oG2antt,Item)
LOCAL i
i := oG2antt:FormatABC("value + 1",oG2antt:Items:ItemToIndex(Item))
oG2antt:Items():SetProperty("CellImage",Item,3,i)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4,oColumn5
LOCAL oEditor
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,256)
oG2antt:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oColumn := oG2antt:Columns():Add("Col-1")
oColumn:DisplayFilterButton := .T.
oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/
oColumn1 := oG2antt:Columns():Add("Col-2")
oColumn1:DisplayFilterButton := .T.
oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/
oColumn2 := oG2antt:Columns():Add("Check")
oEditor := oColumn2:Editor()
oEditor:EditType := 19/*CheckValueType*/
oEditor:SetProperty("Option",17/*exCheckValue2*/,1)
oColumn2:DisplayFilterButton := .T.
oColumn2:DisplayFilterPattern := .F.
oColumn2:FilterType := 6/*exCheck*/
oColumn3 := oG2antt:Columns():Add("Image")
oColumn3:DisplayFilterButton := .T.
oColumn3:FilterType := 10/*exImage*/
oColumn3:FilterList := 9472/*exShowExclude+exShowFocusItem+exShowCheckBox*/
oColumn4 := oG2antt:Columns():Add("Pos")
oColumn4:AllowSizing := .F.
oColumn4:AllowSort := .F.
oColumn4:Width := 32
oColumn4:FormatColumn := "1 apos ``"
oColumn4:Position := 0
oItems := oG2antt:Items()
oItems:SetProperty("CellValue",oItems:AddItem("Item A"),1,"Sub-Item A")
h := oItems:AddItem("Item B")
oItems:SetProperty("CellValue",h,1,"Sub-Item B")
oItems:SetProperty("CellState",h,2,1)
oItems:SetProperty("CellValue",oItems:AddItem("Item C"),1,"Sub-Item C")
oG2antt:FilterBarFont := oG2antt:Font()
oG2antt:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oG2antt:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt:Description(11/*exFilterBarAnd*/)),""))
oG2antt:FilterBarCaption := "(( ( all replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
oG2antt:FilterBarPromptVisible := 3/*exFilterBarVisible+exFilterBarPromptVisible*/
oColumn5 := oG2antt:Columns:Item(0)
oColumn5:FilterType := 240/*exFilter*/
oColumn5:Filter := "Item A|Item B"
oG2antt:Columns:Item(2):Filter := Transform(1,"")
oG2antt:ApplyFilter()
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2018
|
FilterBarCaption ALL Keyword ( sample 1 )

PROCEDURE OnAddItem(oG2antt,Item)
LOCAL i
i := oG2antt:FormatABC("value + 1",oG2antt:Items:ItemToIndex(Item))
oG2antt:Items():SetProperty("CellImage",Item,3,i)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4,oColumn5
LOCAL oEditor
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,256)
oG2antt:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oColumn := oG2antt:Columns():Add("Col-1")
oColumn:DisplayFilterButton := .T.
oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/
oColumn1 := oG2antt:Columns():Add("Col-2")
oColumn1:DisplayFilterButton := .T.
oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/
oColumn2 := oG2antt:Columns():Add("Check")
oEditor := oColumn2:Editor()
oEditor:EditType := 19/*CheckValueType*/
oEditor:SetProperty("Option",17/*exCheckValue2*/,1)
oColumn2:DisplayFilterButton := .T.
oColumn2:DisplayFilterPattern := .F.
oColumn2:FilterType := 6/*exCheck*/
oColumn3 := oG2antt:Columns():Add("Image")
oColumn3:DisplayFilterButton := .T.
oColumn3:FilterType := 10/*exImage*/
oColumn3:FilterList := 9472/*exShowExclude+exShowFocusItem+exShowCheckBox*/
oColumn4 := oG2antt:Columns():Add("Pos")
oColumn4:AllowSizing := .F.
oColumn4:AllowSort := .F.
oColumn4:Width := 32
oColumn4:FormatColumn := "1 apos ``"
oColumn4:Position := 0
oItems := oG2antt:Items()
oItems:SetProperty("CellValue",oItems:AddItem("Item A"),1,"Sub-Item A")
h := oItems:AddItem("Item B")
oItems:SetProperty("CellValue",h,1,"Sub-Item B")
oItems:SetProperty("CellState",h,2,1)
oItems:SetProperty("CellValue",oItems:AddItem("Item C"),1,"Sub-Item C")
oG2antt:FilterBarFont := oG2antt:Font()
oG2antt:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oG2antt:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt:Description(11/*exFilterBarAnd*/)),""))
oG2antt:FilterBarCaption := "all"
oG2antt:FilterBarPromptVisible := 3/*exFilterBarVisible+exFilterBarPromptVisible*/
oColumn5 := oG2antt:Columns:Item(0)
oColumn5:FilterType := 240/*exFilter*/
oColumn5:Filter := "Item A|Item B"
oG2antt:Columns:Item(2):Filter := Transform(1,"")
oG2antt:ApplyFilter()
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2017
|
FilterBarCaption ALLUI Keyword ( sample 2, result )

PROCEDURE OnAddItem(oG2antt,Item)
LOCAL i
i := oG2antt:FormatABC("value + 1",oG2antt:Items:ItemToIndex(Item))
oG2antt:Items():SetProperty("CellImage",Item,3,i)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4,oColumn5
LOCAL oEditor
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,256)
oG2antt:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oColumn := oG2antt:Columns():Add("Col-1")
oColumn:DisplayFilterButton := .T.
oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/
oColumn1 := oG2antt:Columns():Add("Col-2")
oColumn1:DisplayFilterButton := .T.
oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/
oColumn2 := oG2antt:Columns():Add("Check")
oEditor := oColumn2:Editor()
oEditor:EditType := 19/*CheckValueType*/
oEditor:SetProperty("Option",17/*exCheckValue2*/,1)
oColumn2:DisplayFilterButton := .T.
oColumn2:DisplayFilterPattern := .F.
oColumn2:FilterType := 6/*exCheck*/
oColumn3 := oG2antt:Columns():Add("Image")
oColumn3:DisplayFilterButton := .T.
oColumn3:FilterType := 10/*exImage*/
oColumn3:FilterList := 9472/*exShowExclude+exShowFocusItem+exShowCheckBox*/
oColumn4 := oG2antt:Columns():Add("Pos")
oColumn4:AllowSizing := .F.
oColumn4:AllowSort := .F.
oColumn4:Width := 32
oColumn4:FormatColumn := "1 apos ``"
oColumn4:Position := 0
oItems := oG2antt:Items()
oItems:SetProperty("CellValue",oItems:AddItem("Item A"),1,"Sub-Item A")
h := oItems:AddItem("Item B")
oItems:SetProperty("CellValue",h,1,"Sub-Item B")
oItems:SetProperty("CellState",h,2,1)
oItems:SetProperty("CellValue",oItems:AddItem("Item C"),1,"Sub-Item C")
oG2antt:FilterBarFont := oG2antt:Font()
oG2antt:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oG2antt:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt:Description(11/*exFilterBarAnd*/)),""))
oG2antt:FilterBarCaption := "(( ( allui replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
oG2antt:FilterBarPromptVisible := 3/*exFilterBarVisible+exFilterBarPromptVisible*/
oColumn5 := oG2antt:Columns:Item(0)
oColumn5:FilterType := 240/*exFilter*/
oColumn5:Filter := "Item A|Item B"
oG2antt:Columns:Item(2):Filter := Transform(1,"")
oG2antt:ApplyFilter()
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2016
|
FilterBarCaption ALLUI Keyword ( sample 1 )

PROCEDURE OnAddItem(oG2antt,Item)
LOCAL i
i := oG2antt:FormatABC("value + 1",oG2antt:Items:ItemToIndex(Item))
oG2antt:Items():SetProperty("CellImage",Item,3,i)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4,oColumn5
LOCAL oEditor
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,256)
oG2antt:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oColumn := oG2antt:Columns():Add("Col-1")
oColumn:DisplayFilterButton := .T.
oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/
oColumn1 := oG2antt:Columns():Add("Col-2")
oColumn1:DisplayFilterButton := .T.
oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/
oColumn2 := oG2antt:Columns():Add("Check")
oEditor := oColumn2:Editor()
oEditor:EditType := 19/*CheckValueType*/
oEditor:SetProperty("Option",17/*exCheckValue2*/,1)
oColumn2:DisplayFilterButton := .T.
oColumn2:DisplayFilterPattern := .F.
oColumn2:FilterType := 6/*exCheck*/
oColumn3 := oG2antt:Columns():Add("Image")
oColumn3:DisplayFilterButton := .T.
oColumn3:FilterType := 10/*exImage*/
oColumn3:FilterList := 9472/*exShowExclude+exShowFocusItem+exShowCheckBox*/
oColumn4 := oG2antt:Columns():Add("Pos")
oColumn4:AllowSizing := .F.
oColumn4:AllowSort := .F.
oColumn4:Width := 32
oColumn4:FormatColumn := "1 apos ``"
oColumn4:Position := 0
oItems := oG2antt:Items()
oItems:SetProperty("CellValue",oItems:AddItem("Item A"),1,"Sub-Item A")
h := oItems:AddItem("Item B")
oItems:SetProperty("CellValue",h,1,"Sub-Item B")
oItems:SetProperty("CellState",h,2,1)
oItems:SetProperty("CellValue",oItems:AddItem("Item C"),1,"Sub-Item C")
oG2antt:FilterBarFont := oG2antt:Font()
oG2antt:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oG2antt:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt:Description(11/*exFilterBarAnd*/)),""))
oG2antt:FilterBarCaption := "allui"
oG2antt:FilterBarPromptVisible := 3/*exFilterBarVisible+exFilterBarPromptVisible*/
oColumn5 := oG2antt:Columns:Item(0)
oColumn5:FilterType := 240/*exFilter*/
oColumn5:Filter := "Item A|Item B"
oG2antt:Columns:Item(2):Filter := Transform(1,"")
oG2antt:ApplyFilter()
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2015
|
FilterBarCaption AVAILABLE Keyword ( sample 2, result )

PROCEDURE OnAddItem(oG2antt,Item)
LOCAL i
i := oG2antt:FormatABC("value + 1",oG2antt:Items:ItemToIndex(Item))
oG2antt:Items():SetProperty("CellImage",Item,3,i)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4,oColumn5
LOCAL oEditor
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,256)
oG2antt:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oColumn := oG2antt:Columns():Add("Col-1")
oColumn:DisplayFilterButton := .T.
oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/
oColumn1 := oG2antt:Columns():Add("Col-2")
oColumn1:DisplayFilterButton := .T.
oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/
oColumn2 := oG2antt:Columns():Add("Check")
oEditor := oColumn2:Editor()
oEditor:EditType := 19/*CheckValueType*/
oEditor:SetProperty("Option",17/*exCheckValue2*/,1)
oColumn2:DisplayFilterButton := .T.
oColumn2:DisplayFilterPattern := .F.
oColumn2:FilterType := 6/*exCheck*/
oColumn3 := oG2antt:Columns():Add("Image")
oColumn3:DisplayFilterButton := .T.
oColumn3:FilterType := 10/*exImage*/
oColumn3:FilterList := 9472/*exShowExclude+exShowFocusItem+exShowCheckBox*/
oColumn4 := oG2antt:Columns():Add("Pos")
oColumn4:AllowSizing := .F.
oColumn4:AllowSort := .F.
oColumn4:Width := 32
oColumn4:FormatColumn := "1 apos ``"
oColumn4:Position := 0
oItems := oG2antt:Items()
oItems:SetProperty("CellValue",oItems:AddItem("Item A"),1,"Sub-Item A")
h := oItems:AddItem("Item B")
oItems:SetProperty("CellValue",h,1,"Sub-Item B")
oItems:SetProperty("CellState",h,2,1)
oItems:SetProperty("CellValue",oItems:AddItem("Item C"),1,"Sub-Item C")
oG2antt:FilterBarFont := oG2antt:Font()
oG2antt:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oG2antt:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt:Description(11/*exFilterBarAnd*/)),""))
oG2antt:FilterBarCaption := "(( ( value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` ) + ` ` + ( available replace `[` with `<bgcolor=C0C0C0><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` replace `<s>` with `` replace `</s>` with `` ) + `<fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
oG2antt:FilterBarPromptVisible := 3/*exFilterBarVisible+exFilterBarPromptVisible*/
oColumn5 := oG2antt:Columns:Item(0)
oColumn5:FilterType := 240/*exFilter*/
oColumn5:Filter := "Item A|Item B"
oG2antt:Columns:Item(2):Filter := Transform(1,"")
oG2antt:ApplyFilter()
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2014
|
FilterBarCaption AVAILABLE Keyword ( sample 1 )

PROCEDURE OnAddItem(oG2antt,Item)
LOCAL i
i := oG2antt:FormatABC("value + 1",oG2antt:Items:ItemToIndex(Item))
oG2antt:Items():SetProperty("CellImage",Item,3,i)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4,oColumn5
LOCAL oEditor
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,256)
oG2antt:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oColumn := oG2antt:Columns():Add("Col-1")
oColumn:DisplayFilterButton := .T.
oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/
oColumn1 := oG2antt:Columns():Add("Col-2")
oColumn1:DisplayFilterButton := .T.
oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/
oColumn2 := oG2antt:Columns():Add("Check")
oEditor := oColumn2:Editor()
oEditor:EditType := 19/*CheckValueType*/
oEditor:SetProperty("Option",17/*exCheckValue2*/,1)
oColumn2:DisplayFilterButton := .T.
oColumn2:DisplayFilterPattern := .F.
oColumn2:FilterType := 6/*exCheck*/
oColumn3 := oG2antt:Columns():Add("Image")
oColumn3:DisplayFilterButton := .T.
oColumn3:FilterType := 10/*exImage*/
oColumn3:FilterList := 9472/*exShowExclude+exShowFocusItem+exShowCheckBox*/
oColumn4 := oG2antt:Columns():Add("Pos")
oColumn4:AllowSizing := .F.
oColumn4:AllowSort := .F.
oColumn4:Width := 32
oColumn4:FormatColumn := "1 apos ``"
oColumn4:Position := 0
oItems := oG2antt:Items()
oItems:SetProperty("CellValue",oItems:AddItem("Item A"),1,"Sub-Item A")
h := oItems:AddItem("Item B")
oItems:SetProperty("CellValue",h,1,"Sub-Item B")
oItems:SetProperty("CellState",h,2,1)
oItems:SetProperty("CellValue",oItems:AddItem("Item C"),1,"Sub-Item C")
oG2antt:FilterBarFont := oG2antt:Font()
oG2antt:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oG2antt:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt:Description(11/*exFilterBarAnd*/)),""))
oG2antt:FilterBarCaption := "value + ` ` + available"
oG2antt:FilterBarPromptVisible := 3/*exFilterBarVisible+exFilterBarPromptVisible*/
oColumn5 := oG2antt:Columns:Item(0)
oColumn5:FilterType := 240/*exFilter*/
oColumn5:Filter := "Item A|Item B"
oG2antt:Columns:Item(2):Filter := Transform(1,"")
oG2antt:ApplyFilter()
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2013
|
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 3, results )

PROCEDURE OnAddItem(oG2antt,Item)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,256)
oColumn := oG2antt:Columns():Add("Col-1")
oColumn:DisplayFilterButton := .T.
oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/
oColumn1 := oG2antt:Columns():Add("Col-2")
oColumn1:DisplayFilterButton := .T.
oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/
oColumn2 := oG2antt:Columns():Add("Pos")
oColumn2:AllowSizing := .F.
oColumn2:AllowSort := .F.
oColumn2:Width := 32
oColumn2:FormatColumn := "1 apos ``"
oColumn2:Position := 0
oItems := oG2antt:Items()
oItems:SetProperty("CellValue",oItems:AddItem("Item A"),1,"Sub-Item A")
oItems:SetProperty("CellValue",oItems:AddItem("Item B"),1,"Sub-Item B")
oItems:SetProperty("CellValue",oItems:AddItem("Item C"),1,"Sub-Item C")
oG2antt:FilterBarFont := oG2antt:Font()
oG2antt:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oG2antt:FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",oG2antt:Description(11/*exFilterBarAnd*/)),""))
oG2antt:FilterBarCaption := "(`<b>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )) replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`"
oG2antt:FilterBarPromptVisible := 256/*exFilterBarToggle*/
oColumn3 := oG2antt:Columns:Item(0)
oColumn3:FilterType := 240/*exFilter*/
oColumn3:Filter := "Item A|Item B"
oColumn4 := oG2antt:Columns:Item(1)
oColumn4:FilterType := 3/*exPattern*/
oColumn4:Filter := "*B"
oG2antt:ApplyFilter()
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2012
|
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 2 )

PROCEDURE OnAddItem(oG2antt,Item)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,256)
oColumn := oG2antt:Columns():Add("Col-1")
oColumn:DisplayFilterButton := .T.
oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/
oColumn1 := oG2antt:Columns():Add("Col-2")
oColumn1:DisplayFilterButton := .T.
oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/
oColumn2 := oG2antt:Columns():Add("Pos")
oColumn2:AllowSizing := .F.
oColumn2:AllowSort := .F.
oColumn2:Width := 32
oColumn2:FormatColumn := "1 apos ``"
oColumn2:Position := 0
oItems := oG2antt:Items()
oItems:SetProperty("CellValue",oItems:AddItem("Item A"),1,"Sub-Item A")
oItems:SetProperty("CellValue",oItems:AddItem("Item B"),1,"Sub-Item B")
oItems:SetProperty("CellValue",oItems:AddItem("Item C"),1,"Sub-Item C")
oG2antt:FilterBarFont := oG2antt:Font()
oG2antt:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oG2antt:FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",oG2antt:Description(11/*exFilterBarAnd*/)),""))
oG2antt:FilterBarCaption := "value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`"
oG2antt:FilterBarPromptVisible := 256/*exFilterBarToggle*/
oColumn3 := oG2antt:Columns:Item(0)
oColumn3:FilterType := 240/*exFilter*/
oColumn3:Filter := "Item A|Item B"
oColumn4 := oG2antt:Columns:Item(1)
oColumn4:FilterType := 3/*exPattern*/
oColumn4:Filter := "*B"
oG2antt:ApplyFilter()
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2011
|
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 1 )

PROCEDURE OnAddItem(oG2antt,Item)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,256)
oColumn := oG2antt:Columns():Add("Col-1")
oColumn:DisplayFilterButton := .T.
oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/
oColumn1 := oG2antt:Columns():Add("Col-2")
oColumn1:DisplayFilterButton := .T.
oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/
oColumn2 := oG2antt:Columns():Add("Pos")
oColumn2:AllowSizing := .F.
oColumn2:AllowSort := .F.
oColumn2:Width := 32
oColumn2:FormatColumn := "1 apos ``"
oColumn2:Position := 0
oItems := oG2antt:Items()
oItems:SetProperty("CellValue",oItems:AddItem("Item A"),1,"Sub-Item A")
oItems:SetProperty("CellValue",oItems:AddItem("Item B"),1,"Sub-Item B")
oItems:SetProperty("CellValue",oItems:AddItem("Item C"),1,"Sub-Item C")
oG2antt:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oG2antt:FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",oG2antt:Description(11/*exFilterBarAnd*/)),""))
oG2antt:FilterBarCaption := "value replace `[` with `<fgcolor=808080>[` replace `]` with `]</fgcolor>`"
oG2antt:FilterBarPromptVisible := 256/*exFilterBarToggle*/
oColumn3 := oG2antt:Columns:Item(0)
oColumn3:FilterType := 240/*exFilter*/
oColumn3:Filter := "Item A|Item B"
oColumn4 := oG2antt:Columns:Item(1)
oColumn4:FilterType := 3/*exPattern*/
oColumn4:Filter := "*B"
oG2antt:ApplyFilter()
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2010
|
Is it possible to automatically displays the control's filter label to the right

PROCEDURE OnAddItem(oG2antt,Item)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn,oColumn1,oColumn2
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,256)
oColumn := oG2antt:Columns():Add("Item")
oColumn:DisplayFilterButton := .T.
oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/
oColumn1 := oG2antt:Columns():Add("Pos")
oColumn1:AllowSizing := .F.
oColumn1:AllowSort := .F.
oColumn1:Width := 32
oColumn1:FormatColumn := "1 apos ``"
oColumn1:Position := 0
oItems := oG2antt:Items()
oItems:AddItem("Item A")
oItems:AddItem("Item B")
oItems:AddItem("Item C")
oG2antt:FilterBarCaption := "`<r>` + value"
oG2antt:FilterBarPromptVisible := 1280/*exFilterBarShowCloseOnRight+exFilterBarToggle*/
oColumn2 := oG2antt:Columns:Item(0)
oColumn2:FilterType := 240/*exFilter*/
oColumn2:Filter := "Item B"
oG2antt:ApplyFilter()
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2009
|
How can I get the number of results/items being shown in the control's filter bar (sample 4)

PROCEDURE OnAddItem(oG2antt,Item)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn,oColumn1
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,256)
oColumn := oG2antt:Columns():Add("Item")
oColumn:DisplayFilterButton := .T.
oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/
oColumn1 := oG2antt:Columns():Add("Pos")
oColumn1:AllowSizing := .F.
oColumn1:AllowSort := .F.
oColumn1:Width := 32
oColumn1:FormatColumn := "1 apos ``"
oColumn1:Position := 0
oItems := oG2antt:Items()
oItems:AddItem("Item A")
oItems:AddItem("Item B")
oItems:AddItem("Item C")
oG2antt:FilterBarFont := oG2antt:Font()
oG2antt:FilterBarPrompt := Transform(oG2antt:FormatABC("`<b>` + value",oG2antt:FilterBarPrompt()),"")
oG2antt:FilterBarCaption := "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )"
oG2antt:FilterBarPromptVisible := 3591/*exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2008
|
How can I get the number of results being shown in the control's filter bar (sample 3)

PROCEDURE OnAddItem(oG2antt,Item)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn,oColumn1
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,256)
oG2antt:Columns():Add("Item"):DisplayFilterButton := .T.
oColumn := oG2antt:Columns():Add("Pos")
oColumn:AllowSizing := .F.
oColumn:AllowSort := .F.
oColumn:Width := 32
oColumn:FormatColumn := "1 apos ``"
oColumn:Position := 0
oItems := oG2antt:Items()
oItems:AddItem("Item A")
oItems:AddItem("Item B")
oItems:AddItem("Item C")
oG2antt:FilterBarFont := oG2antt:Font()
oG2antt:FilterBarCaption := "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : ``)"
oG2antt:FilterBarPromptVisible := 2055/*exFilterBarCompact+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
oColumn1 := oG2antt:Columns:Item(0)
oColumn1:FilterType := 240/*exFilter*/
oColumn1:Filter := "Item A|Item B"
oG2antt:ApplyFilter()
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2007
|
How can I get the number of results being shown in the control's filter bar (sample 2, compact)

PROCEDURE OnAddItem(oG2antt,Item)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn,oColumn1
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,256)
oG2antt:Columns():Add("Item"):DisplayFilterButton := .T.
oColumn := oG2antt:Columns():Add("Pos")
oColumn:AllowSizing := .F.
oColumn:AllowSort := .F.
oColumn:Width := 32
oColumn:FormatColumn := "1 apos ``"
oColumn:Position := 0
oItems := oG2antt:Items()
oItems:AddItem("Item A")
oItems:AddItem("Item B")
oItems:AddItem("Item C")
oG2antt:FilterBarFont := oG2antt:Font()
oG2antt:FilterBarCaption := "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? `<off -4> ` + abs(matchitemcount + 1) + ` result(s)` : ``)"
oG2antt:FilterBarPromptVisible := 2071/*exFilterBarCompact+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
oColumn1 := oG2antt:Columns:Item(0)
oColumn1:FilterType := 240/*exFilter*/
oColumn1:Filter := "Item A|Item B"
oG2antt:ApplyFilter()
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2006
|
How can I get the number of results being shown in the control's filter bar (sample 1)

PROCEDURE OnAddItem(oG2antt,Item)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn,oColumn1
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,256)
oG2antt:Columns():Add("Item"):DisplayFilterButton := .T.
oColumn := oG2antt:Columns():Add("Pos")
oColumn:AllowSizing := .F.
oColumn:AllowSort := .F.
oColumn:Width := 32
oColumn:FormatColumn := "1 apos ``"
oColumn:Position := 0
oItems := oG2antt:Items()
oItems:AddItem("Item A")
oItems:AddItem("Item B")
oItems:AddItem("Item C")
oG2antt:FilterBarFont := oG2antt:Font()
oG2antt:FilterBarCaption := "`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)"
oG2antt:FilterBarPromptVisible := 7/*exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
oColumn1 := oG2antt:Columns:Item(0)
oColumn1:FilterType := 240/*exFilter*/
oColumn1:Filter := "Item A|Item B"
oG2antt:ApplyFilter()
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2005
|
FilterBarCaption Predefined Keywords

PROCEDURE OnAddItem(oG2antt,Item)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017")
RETURN
PROCEDURE OnAfterExpandItem(oG2antt,Item)
oG2antt:Refresh()
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn,oColumn1,oColumn2
LOCAL oEditor
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:AfterExpandItem := {|Item| OnAfterExpandItem(oG2antt,Item)} /*Fired after an item is expanded (collapsed).*/
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,256)
oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/
oG2antt:Columns():Add("Item"):DisplayFilterButton := .T.
oColumn := oG2antt:Columns():Add("Check")
oEditor := oColumn:Editor()
oEditor:EditType := 19/*CheckValueType*/
oEditor:SetProperty("Option",17/*exCheckValue2*/,1)
oColumn:DisplayFilterButton := .T.
oColumn:DisplayFilterPattern := .F.
oColumn:FilterType := 6/*exCheck*/
oColumn1 := oG2antt:Columns():Add("Pos")
oColumn1:AllowSizing := .F.
oColumn1:AllowSort := .F.
oColumn1:Width := 32
oColumn1:FormatColumn := "1 apos ``"
oColumn1:Position := 0
oItems := oG2antt:Items()
oItems:AddItem("Item A")
h := oItems:AddItem("Item B")
oItems:SetProperty("CellState",oItems:InsertItem(h,,"Sub-Item B1"),1,1)
oItems:InsertItem(h,,"Sub-Item B2")
oItems:SetProperty("ExpandItem",h,.T.)
oItems:AddItem("Item C")
oG2antt:FilterInclude := 1/*exItemsWithChilds*/
oG2antt:FilterBarFont := oG2antt:Font()
oG2antt:FilterBarCaption := "`<fgcolor=0000FF><i>value/current</i></fgcolor>: <fgcolor=808080>` + value + `</fgcolor>` + `<br><fgcolor=0000FF><i>available</i></fgcolor>: ` + available + `<br><fgcolor=0000FF><i>allui</i></fgcolor>: ` + allui + `<br><fgcolor=0000FF><i>all</i></fgcolor>: ` + all + `<br><fgcolor=0000FF><i>itemcount</i></fgcolor>: <fgcolor=808080>` + itemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>visibleitemcount</i></fgcolor>: <fgcolor=808080>` + visibleitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>matchitemcount</" +;
"i></fgcolor>: <fgcolor=808080>` + matchitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>promptpattern</i></fgcolor>: <fgcolor=808080>` + promptpattern + `</fgcolor>`+ `<br><fgcolor=0000FF><i>leafitemcount</i></fgcolor>: <fgcolor=808080>` + leafitemcount + `</fgcolor>`"
oG2antt:FilterBarPromptPattern := "B"
oG2antt:FilterBarPromptVisible := 7/*exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
oColumn2 := oG2antt:Columns:Item(0)
oColumn2:FilterType := 240/*exFilter*/
oColumn2:Filter := "Item A|Item B"
oG2antt:ApplyFilter()
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2004
|
I am using filter prompt feature, and also column's filter, just wondering if possible to compact displaying the filter bar so it won't show on multiple lines

PROCEDURE OnAddItem(oG2antt,Item)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn,oColumn1
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,256)
oG2antt:Columns():Add("Item"):DisplayFilterButton := .T.
oColumn := oG2antt:Columns():Add("Pos")
oColumn:AllowSizing := .F.
oColumn:AllowSort := .F.
oColumn:Width := 32
oColumn:FormatColumn := "1 apos ``"
oColumn:Position := 0
oItems := oG2antt:Items()
oItems:AddItem("Item A")
oItems:AddItem("Item B")
oItems:AddItem("Item C")
oG2antt:FilterBarFont := oG2antt:Font()
oG2antt:FilterBarCaption := "`<r><i><fgcolor=808080><upline><solidline><sha ;;0>` + value"
oG2antt:FilterBarPromptPattern := "B"
oG2antt:FilterBarPromptVisible := 2067/*exFilterBarCompact+exFilterBarSingleLine+exFilterBarVisible+exFilterBarPromptVisible*/
oColumn1 := oG2antt:Columns:Item(0)
oColumn1:FilterType := 240/*exFilter*/
oColumn1:Filter := "Item A|Item B"
oG2antt:ApplyFilter()
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2003
|
Just wondering if it is possible to show the filter bar's close button on the right ( sample 2 )

PROCEDURE OnAddItem(oG2antt,Item)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,256)
oG2antt:Columns():Add("Item"):DisplayFilterButton := .T.
oColumn := oG2antt:Columns():Add("Pos")
oColumn:AllowSizing := .F.
oColumn:AllowSort := .F.
oColumn:Width := 32
oColumn:FormatColumn := "1 apos ``"
oColumn:Position := 0
oItems := oG2antt:Items()
oItems:AddItem("Item A")
oItems:AddItem("Item B")
oItems:AddItem("Item C")
oG2antt:FilterBarPromptVisible := 1281/*exFilterBarShowCloseOnRight+exFilterBarToggle+exFilterBarPromptVisible*/
oG2antt:FilterBarPrompt := Transform(oG2antt:FormatABC("`<r>` + value",oG2antt:FilterBarPrompt()),"")
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2002
|
Just wondering if it is possible to show the filter bar's close button on the right ( sample 1 )

PROCEDURE OnAddItem(oG2antt,Item)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oChart
LOCAL oColumn
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,256)
oG2antt:RightToLeft := .T.
oG2antt:Columns():Add("Item"):DisplayFilterButton := .T.
oColumn := oG2antt:Columns():Add("Pos")
oColumn:AllowSizing := .F.
oColumn:AllowSort := .F.
oColumn:Width := 32
oColumn:FormatColumn := "1 apos ``"
oColumn:Position := 0
oItems := oG2antt:Items()
oItems:AddItem("Item A")
oItems:AddItem("Item B")
oItems:AddItem("Item C")
oG2antt:FilterBarPromptVisible := 257/*exFilterBarToggle+exFilterBarPromptVisible*/
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
2001
|
How can I change the visual appearance of the filter bar's close button (EBN)

PROCEDURE OnAddItem(oG2antt,Item)
oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017")
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oG2antt
LOCAL oAppearance
LOCAL oChart
LOCAL oColumn
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oG2antt := XbpActiveXControl():new( oForm:drawingArea )
oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/
oG2antt:create(,, {10,60},{610,370} )
oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/
oG2antt:BeginUpdate()
oChart := oG2antt:Chart()
oChart:LevelCount := 2
oChart:FirstVisibleDate := "12/02/2017"
oChart:SetProperty("PaneWidth",.F.,256)
oAppearance := oG2antt:VisualAppearance()
oAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABHQDg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLOg7IJjyI4/SJAYCydKAWhxIaZKJHCZoEDaTAADCNVAQp6MEIJVbVEI0e79OgBLp/Z7kECIJJAaRjHQdJxGLA8EhtCQhCZteK6SgMKJYXhWQYRXI1JwvMBrWrdQjiOYELQtMKmSZNLYGG4dR5SVJbcYhSYsRRFMoyDIOXYDLKsdYqSpXIThObEGgaPqJYjsUjCMKnR7HVIURrBPC9TBPE69ZgmC6ucKPX51ShKFaBWDZcwFAS+UBuYCAILiEAQGZ1XT8OROicbgJgSTJRlCaZeDsHY7QGR4xkSYp3CaExZAQMgalQYAwjCAAfBANxcA2TgKAUOpDCGFhKg0RpXCwCwDHQHQHEyAIkCkOhbFOGA8A8DohBgRg9AccZcn8EpEjMLI2C2" +;
"DYxAgQgvAIUIVkoAAPBQDJlECTZ3CCYwDACQwUA8A5MCAWAWDiQi4l8aQOEgLJuBgBgDmYFAzEoIoIl0WALgKYJbBABADAAHgHg8VAMmqCQQDMXABAATYwTmNwBDATJXAiAgjHmNQ5lgQ5QEQEQMmcWg/GwD5ylyNw2gMcJcjsBgBgOQQDDhRpVAMMwnDBFw1B0Ax8D0DxOmmJJIGQTY5hGMAwkwM4CAYLZAmAOJnAqAojiIGg6iieYkmeAYOHaKJDCyCwjH6AoggsQpQliAJLhgaJ0CESBTnyDwjk+cg4g4P5IHIHJ+BWRRzlYWAxiOUxihsY4KjKLJRGqC44FCegkkkM58iAKAPnIWIWD8SRSFSfQnkmewUhYP4GiGKJ7G0TIbCSUoggqUo0lAQ4LnEcBcD8Coiiif4nE+eAAn2HpOkcFJqi4T5SkyMw/kqQown8IBIBOdA+A+DJrBqVxXEqYo4lCApLhGHBnD8S4ymyfxmg+cwQkQP5egOUZIWoEA" +;
"kjIeIPBMBJBD+TBjBifwvkuc58hQJQPmFrYykkchclSApKjGOBuD+TRDFCfw3mmIxNi8FxFlOXhVC4aYDFyPgvg2YBcBcLZGCGCJ0DSLRzGSWQ/lmY5+mEP5gmMDBZRSMRsFsOxMhMJJ/DsTpTnwaQaE+N5ojuNhdEYNI5C4TZJO1GRDmCaxnA2Yx4n8IpIjOTBQBQC5TgyYw7gUYRYikC0BYRwsDQBoB8eA6Q2hsE0BUXgywZtYCyHMKwnxSAhAQHkIQhRrBaDsCwA4ERiB2EWAIYIXhhiVEgAEUYwwYjyASLge4FhHgRDkM8OQih0jWPkGgBBAQ")
oG2antt:Columns():Add("Item"):DisplayFilterButton := .T.
oColumn := oG2antt:Columns():Add("Pos")
oColumn:AllowSizing := .F.
oColumn:AllowSort := .F.
oColumn:Width := 32
oColumn:FormatColumn := "1 apos ``"
oColumn:Position := 0
oItems := oG2antt:Items()
oItems:AddItem("Item A")
oItems:AddItem("Item B")
oItems:AddItem("Item C")
oG2antt:FilterBarPromptVisible := 257/*exFilterBarToggle+exFilterBarPromptVisible*/
oG2antt:SetProperty("Background",1/*exFooterFilterBarButton*/,0x1000000)
oG2antt:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|